Unbound DNS DDoS via Unbounded Name Compression 1.21.0
CVE-2024-8508 Published on October 3, 2024

Unbounded name compression could lead to Denial of Service
NLnet Labs Unbound up to and including version 1.21.0 contains a vulnerability when handling replies with very large RRsets that it needs to perform name compression for. Malicious upstreams responses with very large RRsets can cause Unbound to spend a considerable time applying name compression to downstream replies. This can lead to degraded performance and eventually denial of service in well orchestrated attacks. The vulnerability can be exploited by a malicious actor querying Unbound for the specially crafted contents of a malicious zone with very large RRsets. Before Unbound replies to the query it will try to apply name compression which was an unbounded operation that could lock the CPU until the whole packet was complete. Unbound version 1.21.1 introduces a hard limit on the number of name compression calculations it is willing to do per packet. Packets that need more compression will result in semi-compressed packets or truncated packets, even on TCP for huge messages, to avoid locking the CPU for long. This change should not affect normal DNS traffic.

Vendor Advisory NVD

Timeline

Issue reported by Toshifumi Sakaguchi

Issue acknowledged by NLnet Labs; mitigation shared with Toshifumi Sakaguchi 6 days later.

Mitigation confirmed by Toshifumi Sakaguchi 1 day later.

Fixes released with Unbound 1.21.1 63 days later.

Weakness Type

Unchecked Input for Loop Condition

The product does not properly check inputs that are used for loop conditions, potentially leading to a denial of service or other consequences because of excessive looping.


Products Associated with CVE-2024-8508

stack.watch emails you whenever new vulnerabilities are published in Nlnetlabs Unbound or Debian Linux. Just hit a watch button to start following.

 
 

Affected Versions

NLnet Labs Unbound: nlnetlabs unbound:

Exploit Probability

EPSS
0.23%
Percentile
45.24%

EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.