# CVE-2026-44390: Unbounded name compression in certain cases causes degradation of service

> Attackers can cause denial of service in Unbound DNS resolver by triggering unbounded name compression on large RRsets.

- **Severity:** Medium 6.9 (`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/U:Amber`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 20 May 2026
- **Updated:** 1 Sep 2026
- **Also known as:** ALPINE-CVE-2026-44390, AZL-87045, DEBIAN-CVE-2026-44390, ECHO-d188-50df-d53f, GHSA-6522-r5fq-99gw, UBUNTU-CVE-2026-44390

## What is CVE-2026-44390?

CVE-2026-44390 is a medium-severity denial of service vulnerability in Nlnetlabs Unbound, published on 20 May 2026. 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.25.0 has a vulnerability when handling replies with very large RRsets that Unbound needs to perform name compression for. Malicious upstream responses with very large RRsets with records that don't share a suffix above the root 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. An adversary can exploit the vulnerability by 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. A compression limit was introduced in 1.21.1 for this but it didn't account for the case where records would not share any suffix above the root. That causes Unbound to go in a different code path because of the compression tree lookup failure and eventually not increment the compression counter for those operations. Unbound 1.25.1 contains a patch with a fix that increments the compression counter regardless of the compression tree lookup. This is a complement fix to CVE-2024-8508.

Weakness: CWE-1050 (Excessive Platform Resource Consumption within a Loop), CWE-407 (Inefficient Algorithmic Complexity)

## Which versions are affected by CVE-2026-44390?

It affects 1 product.


Products: Nlnetlabs Unbound.

## How do I fix CVE-2026-44390?

Apply the vendor's patch.

## Is CVE-2026-44390 being exploited?

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

## Other vulnerabilities in Nlnetlabs Unbound

- [CVE-2026-81642](https://insights.sbomify.com/CVE-2026-81642/): Heap buffer overflow and possible Remote Code Execution when digesting DNSKEY (critical 9.1)
- [CVE-2026-33278](https://insights.sbomify.com/CVE-2026-33278/): Possible arbitrary code execution during DNSSEC validation (critical 9.1)
- [CVE-2026-42944](https://insights.sbomify.com/CVE-2026-42944/): Heap overflow with multiple NSID, COOKIE, PADDING EDNS options (high 8.7)
- [CVE-2026-42959](https://insights.sbomify.com/CVE-2026-42959/): Crash during DNSSEC validation of malicious content (high 8.7)
- [CVE-2026-82717](https://insights.sbomify.com/CVE-2026-82717/): CNAME synthesis could lead to heap corruption (high 8.4)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-44390 and fix it if it is affected.

What it is: CVE-2026-44390 is a medium-severity denial of service vulnerability in Nlnetlabs Unbound, published on 20 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-44390 in the wild and no public exploit code.

Affected product: Nlnetlabs Unbound. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-44390/ (Markdown: https://insights.sbomify.com/CVE-2026-44390/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-44390
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-44390
- OSV: https://osv.dev/vulnerability/CVE-2026-44390

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-44390/
Summaries are generated and may contain mistakes; the official description above is the record.
