CVE-2013-7423
NoneCVSS
—
EPSS
5.8%
Published
Feb 24, 2015
CISA due date
—
Cloudanix analysis
A bug in a core system library on many Linux computers can let attackers send DNS lookups to the wrong places, which may allow them to interfere with how names are resolved.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Library
- Class
- Other
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
The send_dg function in resolv/res_send.c fails to properly reuse file descriptors, allowing repeated getaddrinfo calls to cause DNS queries to be sent to unintended destinations.
Why it matters to the business
Systems may experience misdirected DNS resolutions that could enable attackers to influence or observe name resolution traffic, increasing risk of data exposure or service disruption on unpatched Linux environments.
How an attack unfolds
An attacker generates a high volume of requests that invoke getaddrinfo on a vulnerable system, triggering the flawed send_dg logic to emit DNS queries toward attacker-chosen or unintended resolvers.
How to fix it
Upgrade the GNU C Library to version 2.20 or later on all affected distributions; apply vendor patches for Red Hat Enterprise Linux, Ubuntu, and openSUSE as soon as available.
How to confirm the fix worked
Confirm glibc version is 2.20 or newer via package manager or ldd --version; test resolver behavior under load to verify file descriptor reuse; review vendor security advisories for backported fixes.
Typical attack path
- Identify or reach a system using an affected glibc version
- Issue repeated getaddrinfo or related resolver calls at high volume
- Observe or intercept the resulting misdirected DNS queries
- Leverage the unintended resolver interaction for further reconnaissance or traffic manipulation
How to detect it
Examine DNS query logs and resolver activity for patterns of repeated getaddrinfo calls resulting in unexpected destination addresses; review historical system call traces or strace output for file descriptor handling anomalies around DNS operations.
What your security team should do
- Prioritize patching glibc across all Linux servers and containers due to the age of the flaw and broad ecosystem exposure
- Monitor for any remaining systems running glibc versions prior to 2.20
- Review DNS resolution logging for anomalies that could indicate misdirected queries
- Apply compensating controls such as strict network egress filtering for DNS traffic until patches are deployed
The record
The send_dg function in resolv/res_send.c in GNU C Library (aka glibc or libc6) before 2.20 does not properly reuse file descriptors, which allows remote attackers to send DNS queries to unintended locations via a large number of requests that trigger a call to the getaddrinfo function.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | glibc | 0 | 2.19-1 |
| Debian:12 | glibc | 0 | 2.19-1 |
| Debian:13 | glibc | 0 | 2.19-1 |
| Debian:6.0 | eglibc | 0 | 2.11.3-4+deb6u5 |
| Mageia:4 | glibc | 0 | 2.18-9.11.mga4 |
| Red Hat:enterprise_linux:6::client | glibc | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::client | glibc-common | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::client | glibc-debuginfo | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::client | glibc-debuginfo-common | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::client | glibc-devel | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::client | glibc-headers | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::client | glibc-static | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::client | glibc-utils | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::client | nscd | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::computenode | glibc | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::computenode | glibc-common | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::computenode | glibc-debuginfo | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::computenode | glibc-debuginfo-common | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::computenode | glibc-devel | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::computenode | glibc-headers | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::computenode | glibc-static | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::computenode | glibc-utils | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::computenode | nscd | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::server | glibc | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::server | glibc-common | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::server | glibc-debuginfo | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::server | glibc-debuginfo-common | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::server | glibc-devel | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::server | glibc-headers | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::server | glibc-static | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::server | glibc-utils | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::server | nscd | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::workstation | glibc | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::workstation | glibc-common | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::workstation | glibc-debuginfo | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::workstation | glibc-debuginfo-common | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::workstation | glibc-devel | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::workstation | glibc-headers | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::workstation | glibc-static | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::workstation | glibc-utils | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:6::workstation | nscd | 0 | 0:2.12-1.149.el6_6.7 |
| Red Hat:enterprise_linux:7::client | glibc | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::client | glibc-common | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::client | glibc-debuginfo | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::client | glibc-debuginfo-common | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::client | glibc-devel | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::client | glibc-headers | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::client | glibc-static | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::client | glibc-utils | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::client | nscd | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::computenode | glibc | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::computenode | glibc-common | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::computenode | glibc-debuginfo | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::computenode | glibc-debuginfo-common | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::computenode | glibc-devel | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::computenode | glibc-headers | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::computenode | glibc-static | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::computenode | glibc-utils | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::computenode | nscd | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::server | glibc | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::server | glibc-common | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::server | glibc-debuginfo | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::server | glibc-debuginfo-common | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::server | glibc-devel | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::server | glibc-headers | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::server | glibc-static | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::server | glibc-utils | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::server | nscd | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::workstation | glibc | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::workstation | glibc-common | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::workstation | glibc-debuginfo | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::workstation | glibc-debuginfo-common | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::workstation | glibc-devel | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::workstation | glibc-headers | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::workstation | glibc-static | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::workstation | glibc-utils | 0 | 0:2.17-105.el7 |
| Red Hat:enterprise_linux:7::workstation | nscd | 0 | 0:2.17-105.el7 |
| Red Hat:rhel_aus:6.5::server | glibc | 0 | 0:2.12-1.132.el6_5.8 |
| Red Hat:rhel_aus:6.5::server | glibc-common | 0 | 0:2.12-1.132.el6_5.8 |
| Red Hat:rhel_aus:6.5::server | glibc-debuginfo | 0 | 0:2.12-1.132.el6_5.8 |
| Red Hat:rhel_aus:6.5::server | glibc-debuginfo-common | 0 | 0:2.12-1.132.el6_5.8 |
| Red Hat:rhel_aus:6.5::server | glibc-devel | 0 | 0:2.12-1.132.el6_5.8 |
| Red Hat:rhel_aus:6.5::server | glibc-headers | 0 | 0:2.12-1.132.el6_5.8 |
| Red Hat:rhel_aus:6.5::server | glibc-static | 0 | 0:2.12-1.132.el6_5.8 |
| Red Hat:rhel_aus:6.5::server | glibc-utils | 0 | 0:2.12-1.132.el6_5.8 |
| Red Hat:rhel_aus:6.5::server | nscd | 0 | 0:2.12-1.132.el6_5.8 |
| Red Hat:rhel_eus:7.1::computenode | glibc | 0 | 0:2.17-79.el7_1 |
| Red Hat:rhel_eus:7.1::computenode | glibc-common | 0 | 0:2.17-79.el7_1 |
| Red Hat:rhel_eus:7.1::computenode | glibc-debuginfo | 0 | 0:2.17-79.el7_1 |
| Red Hat:rhel_eus:7.1::computenode | glibc-debuginfo-common | 0 | 0:2.17-79.el7_1 |
| Red Hat:rhel_eus:7.1::computenode | glibc-devel | 0 | 0:2.17-79.el7_1 |
| Red Hat:rhel_eus:7.1::computenode | glibc-headers | 0 | 0:2.17-79.el7_1 |
| Red Hat:rhel_eus:7.1::computenode | glibc-static | 0 | 0:2.17-79.el7_1 |
| Red Hat:rhel_eus:7.1::computenode | glibc-utils | 0 | 0:2.17-79.el7_1 |
| Red Hat:rhel_eus:7.1::computenode | nscd | 0 | 0:2.17-79.el7_1 |
| Red Hat:rhel_eus:7.1::server | glibc | 0 | 0:2.17-79.ael7b_1 |
| Red Hat:rhel_eus:7.1::server | glibc-common | 0 | 0:2.17-79.ael7b_1 |
| Red Hat:rhel_eus:7.1::server | glibc-debuginfo | 0 | 0:2.17-79.ael7b_1 |
| Red Hat:rhel_eus:7.1::server | glibc-debuginfo-common | 0 | 0:2.17-79.ael7b_1 |
| Red Hat:rhel_eus:7.1::server | glibc-devel | 0 | 0:2.17-79.ael7b_1 |
| Red Hat:rhel_eus:7.1::server | glibc-headers | 0 | 0:2.17-79.ael7b_1 |
| Red Hat:rhel_eus:7.1::server | glibc-static | 0 | 0:2.17-79.ael7b_1 |
| Red Hat:rhel_eus:7.1::server | glibc-utils | 0 | 0:2.17-79.ael7b_1 |
| Red Hat:rhel_eus:7.1::server | nscd | 0 | 0:2.17-79.ael7b_1 |
| SUSE:Linux Enterprise Desktop 12 | glibc | 0 | 2.19-20.3 |
| SUSE:Linux Enterprise Server 12 | glibc | 0 | 2.19-20.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | glibc | 0 | 2.19-20.3 |
| SUSE:Linux Enterprise Software Development Kit 12 | glibc | 0 | 2.19-20.3 |
| Ubuntu:14.04:LTS | eglibc | 0 | 2.19-0ubuntu6.6 |
| openSUSE:Tumbleweed | glibc | 0 | 2.24-2.3 |
Related vulnerabilities
- CVE-2021-3326 The iconv function in the GNU C Library (aka glibc or libc6) 2.32 and earlier, when… Also affects glibc
- CVE-2009-5155 In the GNU C Library (aka glibc or libc6) before 2.28, parse_reg_exp in posix/regcomp.c… Also affects glibc
- CVE-2017-12133 Use-after-free vulnerability in the clntudp_call function in sunrpc/clnt_udp.c in the GNU… Also affects glibc
- CVE-2015-5180 res_query in libresolv in glibc before 2.25 allows remote attackers to cause a denial of… Also affects glibc
- CVE-2017-1000366 glibc contains a vulnerability that allows specially crafted LD_LIBRARY_PATH values to… Also affects glibc
- CVE-2014-9984 nscd in the GNU C Library (aka glibc or libc6) before version 2.20 does not correctly… Also affects glibc
- CVE-2016-10228 The iconv program in the GNU C Library (aka glibc or libc6) 2.31 and earlier, when… Also affects glibc
- CVE-2016-4429 Stack-based buffer overflow in the clntudp_call function in sunrpc/clnt_udp.c in the GNU… Also affects glibc