# CVE-2026-55991: NLnet Labs Unbound denial of service in DNS-over-QUIC

Source: https://junglewise.ai/threats/cve-2026-55991-nlnet-labs-unbound-denial-of-service-in-dns-over-quic  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-22. Updated: 2026-07-22  
License: CC BY 4.0 with a link back

CVE-2026-55991 · Severity: medium · CVSS 5.9 · Published 2026-07-22

Unbound is a widely used DNS resolver that translates human-readable domain names into IP addresses. A vulnerability in its DNS-over-QUIC implementation allows a remote attacker to crash the entire service with a single specially crafted request. This results in a complete denial of service, preventing users and applications from resolving domain names until the service is manually restarted.

Technologies: [NLnet Labs Unbound](https://junglewise.ai/threats/technologies/unbound). Vendors: [NLnet Labs](https://junglewise.ai/threats/vendors/nlnet-labs).

## Quick answers

**Is CVE-2026-55991 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-55991 being exploited in the wild.

**How severe is CVE-2026-55991?** Medium severity, with a CVSS score of 5.9, published 22 July 2026.

**Which products and versions are affected?** NLnet Labs Unbound 1.22.0 to 1.25.1.

**Is there a fix for CVE-2026-55991?** A patch was published on 2026-07-22. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-55991 attacked?** It is attacked over the network, in a hosted service.

**Am I affected by CVE-2026-55991?** Check whether you run NLnet Labs Unbound at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

A signed-to-unsigned conversion error (CWE-195) exists in Unbound's DNS-over-QUIC (DoQ) implementation when interacting with the libngtcp2 library. When 'ngtcp2_conn_writev_stream()' returns a 'DATA_BLOCKED' error, Unbound incorrectly passes a '-1' integer literal to 'ngtcp2_ccerr_set_application_error()', which is implicitly converted to a 64-bit unsigned integer (0xFFFFFFFFFFFFFFFF). During serialization as a QUIC variable-length integer, this value exceeds the 62-bit maximum, triggering an assertion failure in libngtcp2 and aborting the Unbound process. An unauthenticated remote attacker can trigger this deterministically by manipulating QUIC transport parameters and sending a single query. The issue is fixed in Unbound version 1.25.2.

## Affected products

- NLnet Labs Unbound 1.22.0 to 1.25.1

## Timeline

- 2026-07-22: advisory: NLnet Labs published the security advisory and released version 1.25.2.
- 2026-07-22: patched

## References

- [https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-55991.txt](https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-55991.txt)

## Related threats

- [NLnet Labs Unbound use-after-free in DNS-over-QUIC stream cleanup](https://junglewise.ai/threats/cve-2026-97206-nlnet-labs-unbound-1-22-0-up-to-and-including-version-1-26-1)
- [NLnet Labs Unbound DNS decompression CPU exhaustion](https://junglewise.ai/threats/cve-2026-96405-nlnet-labs-unbound-up-to-and-including-version-1-26-1-limits)
- [NLnet Labs Unbound DNS validator bypass in DNSSEC validation](https://junglewise.ai/threats/cve-2026-50106-when-nlnet-labs-unbound-up-to-and-including-version-1-26-1-is)
- [NLnet Labs Unbound cache side-channel in upstream source port probe](https://junglewise.ai/threats/cve-2026-109125-in-nlnet-labs-unbound-up-to-and-including-version-1-26-1-an)
- [NLnet Labs Unbound DNS complexity attacks via ReTrap](https://junglewise.ai/threats/cve-2026-85501-nlnet-labs-unbound-dns-complexity-attacks-via-retrap)
