GNU C Library resolv/res_send.c send_dg/send_vc MAX_PACKET memory corruption

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.7 | $0-$5k | 0.00 |
Summary
A vulnerability was found in GNU C Library. It has been rated as critical. Affected by this issue is the function send_dg/send_vc of the file resolv/res_send.c. This manipulation of the argument MAX_PACKET causes memory corruption.
This vulnerability appears as CVE-2015-7547. The attack may be initiated remotely. In addition, an exploit is available.
It is recommended to apply a patch to fix this issue.
Details
A vulnerability classified as critical was found in GNU C Library (Software Library). Affected by this vulnerability is the function send_dg/send_vc of the file resolv/res_send.c. The manipulation of the argument MAX_PACKET with an unknown input leads to a memory corruption vulnerability. The CWE definition for the vulnerability is CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. As an impact it is known to affect confidentiality, integrity, and availability.
The issue has been introduced in 05/01/2008. The weakness was presented 02/16/2016 by Robert Holiday with Ciena as Bug 18665 as confirmed advisory (Mailing List). It is possible to read the advisory at sourceware.org. The public release was coordinated in cooperation with GNU. This vulnerability is known as CVE-2015-7547 since 09/29/2015. The attack can be launched remotely. The exploitation doesn't need any form of authentication. Technical details and also a public exploit are known. The advisory points out:
The use of AF_UNSPEC triggers the low-level resolver code to send out two parallel queries for A and AAAA. A mismanagement of the buffers used for those queries could result in the response writing beyond the alloca allocated buffer created by __res_nquery.
A public exploit has been developed by Google Security Research in Python and been published immediately after the advisory. It is possible to download the exploit at securityfocus.com. It is declared as proof-of-concept. The vulnerability was handled as a non-public zero-day exploit for at least 2847 days. During that time the estimated underground price was around $25k-$100k. The vulnerability scanner Nessus provides a plugin with the ID 88756 (Amazon Linux AMI : glibc (ALAS-2016-653)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Amazon Linux Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 390049 (Oracle VM Server for x86 Security Update for glibc (OVMSA-2017-0051)).
Applying the patch 8479f23a is able to eliminate this problem.Proper firewalling of UDP DNS Packet Length > 512 Bytes / TCP Reply Length > 1024 Byte is able to address this issue. The best possible mitigation is suggested to be patching the affected component. A possible mitigation has been published immediately after the disclosure of the vulnerability. The vulnerability will be addressed with the following lines of code:
if (status == NSS_STATUS_SUCCESS
&& (status2 == NSS_STATUS_TRYAGAIN
&& *errnop == ERANGE && *h_errnop != NO_RECOVERY))
status = NSS_STATUS_TRYAGAIN; Attack attempts may be identified with Snort ID 37730. Furthermore it is possible to detect and prevent this kind of attack with TippingPoint and the filter 23882. The vulnerability is also documented in the databases at Exploit-DB (39454), Tenable (88756), SecurityFocus (BID 83265†), SecurityTracker (ID 1035020†) and Vulnerability Center (SBV-56723†). Additional details are provided at sourceware.org. See VDB-82595 and VDB-82661 for similar entries. Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Affected
- Multiple Cisco Devices (cisco-sa-20160218-glibc)
Product
Type
Vendor
Name
License
Website
- Vendor: https://www.gnu.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.1VulDB Meta Temp Score: 7.7
VulDB Base Score: 8.1
VulDB Temp Score: 7.3
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 8.1
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Memory corruptionCWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Proof-of-Concept
Author: Google Security Research
Programming Language: 🔍
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 88756
Nessus Name: Amazon Linux AMI : glibc (ALAS-2016-653)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
OpenVAS ID: 100313
OpenVAS Name: Amazon Linux Local Check: alas-2016-653
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Exploit-DB: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Exploit Delay Time: 🔍
Patch: 8479f23a
Firewalling: 🔍
Snort ID: 37730
Snort Message: PROTOCOL-DNS glibc getaddrinfo A record stack buffer overflow attempt
Snort Class: 🔍
Suricata ID: 2022531
Suricata Class: 🔍
Suricata Message: 🔍
TippingPoint: 🔍
McAfee IPS: 🔍
McAfee IPS Version: 🔍
Fortigate IPS: 🔍
Timeline
05/01/2008 🔍09/29/2015 🔍
02/15/2016 🔍
02/15/2016 🔍
02/16/2016 🔍
02/16/2016 🔍
02/16/2016 🔍
02/16/2016 🔍
02/16/2016 🔍
02/16/2016 🔍
02/17/2016 🔍
02/18/2016 🔍
02/22/2016 🔍
01/27/2025 🔍
Sources
Vendor: gnu.orgAdvisory: Bug 18665
Researcher: Robert Holiday
Organization: Ciena
Status: Confirmed
Confirmation: 🔍
Coordinated: 🔍
CVE: CVE-2015-7547 (🔍)
GCVE (CVE): GCVE-0-2015-7547
GCVE (VulDB): GCVE-100-80983
CERT: 🔍
SecurityFocus: 83265 - GNU glibc 'getaddrinfo()' Function Multiple Stack Buffer Overflow Vulnerabilities
SecurityTracker: 1035020
Vulnerability Center: 56723 - GNU glibc 2.9 - 2.22 Remote Code Execution due to a Stack-Based Buffer Overflow in the DNS Resolver in GetAddrInfo, Medium
scip Labs: https://www.scip.ch/en/?labs.20161013
Misc.: 🔍
See also: 🔍
Entry
Created: 02/16/2016 21:53Updated: 01/27/2025 06:27
Changes: 02/16/2016 21:53 (106), 08/23/2018 08:22 (18), 07/08/2022 08:19 (3), 06/20/2024 11:22 (15), 01/27/2025 06:27 (1)
Complete: 🔍
Cache ID: 216:84F:103
No comments yet. Languages: en.
Please log in to comment.