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

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
7.7$0-$5k0.00

Summaryinfo

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.

Detailsinfo

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)

Productinfo

Type

Vendor

Name

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 8.1
VulDB 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: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

NVD Base Score: 🔍

Exploitinginfo

Class: Memory corruption
CWE: 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-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

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 Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Patch
Status: 🔍

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: 🔍

Timelineinfo

05/01/2008 🔍
09/29/2015 +2707 days 🔍
02/15/2016 +139 days 🔍
02/15/2016 +0 days 🔍
02/16/2016 +0 days 🔍
02/16/2016 +0 days 🔍
02/16/2016 +0 days 🔍
02/16/2016 +0 days 🔍
02/16/2016 +0 days 🔍
02/16/2016 +0 days 🔍
02/17/2016 +1 days 🔍
02/18/2016 +0 days 🔍
02/22/2016 +4 days 🔍
01/27/2025 +3261 days 🔍

Sourcesinfo

Vendor: gnu.org

Advisory: 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: 🔍

Entryinfo

Created: 02/16/2016 21:53
Updated: 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

Discussion

No comments yet. Languages: en.

Please log in to comment.

Might our Artificial Intelligence support you?

Check our Alexa App!