CVE-2017-9104 in adnsinfo

Summary

by MITRE

An issue was discovered in adns before 1.5.2. It hangs, eating CPU, if a compression pointer loop is encountered.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 08/26/2025

The vulnerability identified as CVE-2017-9104 affects the adns library version 1.5.1 and earlier, representing a critical denial of service flaw that can be exploited to consume excessive CPU resources. This issue manifests when the library encounters compression pointer loops during DNS resolution operations, causing the system to enter an infinite loop that consumes CPU cycles indefinitely. The adns library is widely used in various applications and systems for asynchronous DNS resolution, making this vulnerability particularly concerning as it can affect numerous software components that depend on DNS functionality.

The technical root cause of this vulnerability stems from inadequate validation of DNS compression pointers within the response parsing mechanism. DNS compression is a standard technique used to reduce message size by allowing pointers to reference previously transmitted strings. However, the adns library fails to properly detect circular references in these compression pointers, creating a scenario where a malformed DNS response containing a loop in the compression pointer chain causes the parser to recursively follow the same pointers indefinitely. This behavior aligns with CWE-835, which specifically addresses the issue of loops in pointer chains that can lead to infinite iterations and resource exhaustion.

From an operational perspective, this vulnerability presents a significant risk to systems that rely on DNS resolution services, particularly those handling untrusted DNS responses from external sources. Attackers can exploit this weakness by crafting malicious DNS responses with compression pointer loops, causing targeted systems to consume excessive CPU resources and potentially leading to system instability or complete service denial. The vulnerability is especially dangerous in network infrastructure components, web servers, email systems, and any application that performs DNS lookups without proper input validation, as these systems can become unresponsive and may require manual intervention to restore normal operation.

The impact of this vulnerability extends beyond simple resource exhaustion, as it can be leveraged to create sustained denial of service attacks against critical infrastructure. Systems affected by this vulnerability may experience complete unresponsiveness during the attack period, potentially causing cascading failures in dependent services and applications. The exploitability of this vulnerability is relatively straightforward, requiring only the construction of a DNS response with a compression pointer loop, making it a preferred target for attackers seeking to disrupt services without requiring advanced technical skills or significant resources. Organizations should prioritize patching this vulnerability by upgrading to adns version 1.5.2 or later, which implements proper loop detection mechanisms. Additional mitigations include implementing DNS response validation, rate limiting DNS queries, and deploying network monitoring solutions to detect unusual CPU consumption patterns that may indicate exploitation attempts. This vulnerability also highlights the importance of proper input validation in network protocol implementations and serves as a reminder of the critical need for robust error handling in DNS resolution libraries, aligning with ATT&CK technique T1499.004 for network denial of service attacks through resource exhaustion.

Reservation

05/21/2017

Moderation

accepted

CPE

ready

EPSS

0.00892

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!