CVE-2024-8508 Unbounded name compression could lead to Denial of Service

Medium 5.3 Published Updated

Attackers can cause denial of service in Unbound DNS resolver by sending malicious responses with large RRsets, forcing excessive CPU usage during name compression.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-8508?

CVE-2024-8508 is a medium-severity denial of service vulnerability in Debian Debian Linux, published on 3 Oct 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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.

Weakness: CWE-1284, CWE-606

Which versions are affected by CVE-2024-8508?

3 open source packages ship an affected version, including hickory-proto. It affects 2 products.

PackageAffectedFixed in
hickory-proto crates.ioFrom 0.3.10.26.1
hickory-proto crates.ioFrom 0.3.10.26.1
hickory-proto crates.ioFrom 0.3.10.26.1
Linux distribution packages (37)
python3-unbound AlmaLinux:10All versions1.20.0-10.el10_0
unbound AlmaLinux:10All versions1.20.0-10.el10_0
unbound-anchor AlmaLinux:10All versions1.20.0-10.el10_0
unbound-devel AlmaLinux:10All versions1.20.0-10.el10_0
unbound-dracut AlmaLinux:10All versions1.20.0-10.el10_0
unbound-libs AlmaLinux:10All versions1.20.0-10.el10_0
python3-unbound AlmaLinux:9All versions1.16.2-8.el9_5.1
unbound AlmaLinux:9All versions1.16.2-8.el9_5.1
unbound-devel AlmaLinux:9All versions1.16.2-8.el9_5.1
unbound-libs AlmaLinux:9All versions1.16.2-8.el9_5.1
python3-unbound Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
python3-unbound-debuginfo Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
unbound Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
unbound-anchor Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
unbound-anchor-debuginfo Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
unbound-debuginfo Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
unbound-debugsource Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
unbound-devel Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
unbound-dracut Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
unbound-libs Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
unbound-libs-debuginfo Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
unbound-utils-debuginfo Red Hat:enterprise_linux:10.0All versions0:1.20.0-10.el10_0
python3-unbound Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-18.el9_6
python3-unbound Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-8.el9_5.1
python3-unbound-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-18.el9_6
python3-unbound-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-8.el9_5.1
unbound Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-18.el9_6
unbound Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-8.el9_5.1
unbound-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-18.el9_6
unbound-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-8.el9_5.1
unbound-debugsource Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-18.el9_6
unbound-debugsource Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-8.el9_5.1
unbound-dracut Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-18.el9_6
unbound-libs Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-18.el9_6
unbound-libs Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-8.el9_5.1
unbound-libs-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-18.el9_6
unbound-libs-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:1.16.2-8.el9_5.1

Products include Debian Debian Linux, Nlnetlabs Unbound.

How do I fix CVE-2024-8508?

Upgrade hickory-proto to 0.26.1 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2024-8508 being exploited?

There is no known exploitation of CVE-2024-8508 in the wild and no public exploit code.

All Debian Debian Linux vulnerabilities

Sources

Also known as ALPINE-CVE-2024-8508, ALSA-2024:11232, ALSA-2025:8047, AZL-49915, AZL-49976, CLSA-2025-1736503760 and 32 more.

Is CVE-2024-8508 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free