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.
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:- Before and including 1.21.0 is affected.
- Before and including 1.21.0 is affected.
Exploit Probability
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.