Skip to main content

Unbound DNS CVE-2026-50251

| EUVDEUVD-2026-47675 MEDIUM
Incomplete List of Disallowed Inputs (CWE-184)
2026-07-22 NLnet Labs GHSA-rj42-r8f9-w75j
5.3
CVSS 3.1 · Vendor: NLnet Labs
Share

Severity by source

Vendor (NLnet Labs) PRIMARY
5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI
5.3 MEDIUM

Network-reachable via DNS with no authentication; impact is limited to periodic cache flushing causing degraded resolver performance, not a complete outage.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
SUSE
5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.3 MEDIUM
qualitative

Primary rating from Vendor (NLnet Labs).

CVSS VectorVendor: NLnet Labs

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

Lifecycle Timeline

3
Patch available
Jul 22, 2026 - 16:18 EUVD
Analysis Generated
Jul 22, 2026 - 13:54 vuln.today
CVE Published
Jul 22, 2026 - 13:08 cve.org
MEDIUM 5.3

DescriptionCVE.org

In NLnet Labs Unbound up to and including version 1.25.1, when 'unwanted-reply-threshold' is enabled (set to any value greater than zero), glue records of 0.0.0.0/::0 can short-circuit Unbound, on systems that can direct such traffic, by issuing DNS queries and receiving seemingly unwanted replies since the remote IP does not match the original source IP of 0.0.0.0/::0. This behavior keeps on looping for the glue records and pushing the counter to the configured 'unwanted-reply-threshold' that triggers a defensive cache clear. A malicious actor who controls a delegation that returns in-bailiwick glue of 0.0.0.0/::0 can drive the counter to the limit of 'unwanted-reply-threshold' to the threshold and trigger a cache clean of the message and rrset caches; at will, indefinitely, without sending a single spoofed packet. The iterator uses the 0.0.0.0/::0 glue, and a system that can route this (e.g., Linux kernel routes the datagram over loopback), Unbound's own listener answers from 127.0.0.1. Because of the mismatch of 0.0.0.0 and 127.0.0.1, in this example, Unbound accounts the reply as an unwanted (probably spoofed) answer. The counter resets to zero on every cache flush, so the attack loops forever.

AnalysisAI

Cache-clearing denial-of-service in NLnet Labs Unbound through 1.25.1 allows a remote attacker who controls a DNS delegation to indefinitely and repeatedly flush Unbound's message and rrset caches without sending a single spoofed packet. The attack exploits a logic flaw in how the iterator processes in-bailiwick glue records containing the unspecified address 0.0.0.0/::0: on Linux, such queries are routed via loopback and answered by 127.0.0.1, creating an IP mismatch that the unwanted-reply counter tallies until the configured threshold triggers a defensive cache clear - which resets the counter, enabling the loop to continue indefinitely. No public exploit identified at time of analysis; CVSS 3.1 scores this 5.3 (Medium) with Low availability impact and no confidentiality or integrity impact.

Technical ContextAI

Unbound (NLnet Labs) is a validating, recursive, caching DNS resolver widely deployed in ISPs, enterprises, and on Linux-based systems. The affected feature, unwanted-reply-threshold, is a configurable anti-spoofing defense that flushes the message and rrset caches when Unbound receives too many DNS replies from IPs that do not match the original query destination - intended to mitigate cache poisoning via spoofed UDP packets. CWE-184 (Incomplete List of Disallowed Inputs) is the root cause: Unbound's iterator does not validate or reject 0.0.0.0 (IPv4 unspecified) or ::0 (IPv6 unspecified) as clearly invalid glue record addresses returned by authoritative nameservers in delegation responses. On Linux, the kernel routes datagrams destined for 0.0.0.0 over the loopback interface, causing Unbound to query that address and receive a reply from its own listener at 127.0.0.1. Because 127.0.0.1 does not match the queried destination 0.0.0.0, Unbound's source-validation logic classifies the reply as 'unwanted' and increments the counter. When the counter hits the configured threshold, a full cache flush fires and resets the counter to zero, allowing the cycle to repeat without bound. Affected products per CPE: cpe:2.3:a:nlnet_labs:unbound:*:*:*:*:*:*:*:* - all releases up to and including 1.25.1.

RemediationAI

Upstream fix available per NLnet Labs vendor advisory (https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-50251.txt); a specific patched version number was not independently confirmed from the provided intelligence - operators should consult the advisory directly for the exact fixed release. As an immediate and complete workaround, set 'unwanted-reply-threshold: 0' in unbound.conf to disable the feature; this eliminates the attack vector entirely but also removes the anti-spoofing cache-flush protection the feature provides, which is a deliberate trade-off operators must weigh. A more targeted compensating control is to configure Unbound's response filtering or access control lists to reject delegation responses containing glue records with 0.0.0.0 or ::0 addresses before they reach the iterator; this preserves the unwanted-reply-threshold defensive function while blocking the specific malicious input class. On Linux, iptables or nftables rules can drop UDP/TCP packets routed over loopback to address 0.0.0.0, preventing the routing quirk from triggering - note this is a host-level mitigation with potential side effects on other loopback-dependent services and should be tested before deployment in production.

CVE-2019-18934 HIGH POC
7.3 Nov 19

Unbound 1.6.4 through 1.9.4 contain a vulnerability in the ipsec module that can cause shell code execution after receiv

CVE-2026-33278 CRITICAL
9.1 May 20

Use-after-free in the DNSSEC validator of NLnet Labs Unbound resolver versions 1.19.1 through 1.25.0 allows remote attac

CVE-2026-42959 HIGH
8.7 May 20

Remote denial of service in NLnet Labs Unbound recursive DNS resolver (versions up to and including 1.25.0) allows an at

CVE-2026-42944 HIGH
8.7 May 20

Heap overflow denial-of-service in NLnet Labs Unbound recursive DNS resolver versions 1.14.0 through 1.25.0 allows remot

CVE-2026-32665 HIGH
7.5 Jul 22

Remote denial of service in NLnet Labs Unbound 1.22.0 through 1.25.1 lets an unauthenticated client exhaust configured m

CVE-2026-55973 HIGH
7.5 Jul 22

Remote denial-of-service in NLnet Labs Unbound 1.23.0 through 1.25.1 lets an attacker who controls a delegated DNS zone

CVE-2026-40691 HIGH
7.5 Jul 22

Remote denial-of-service in NLnet Labs Unbound 1.9.0 through 1.25.1 allows an unauthenticated attacker to crash the recu

CVE-2026-44690 HIGH
7.5 Jul 22

DNS cache poisoning in NLnet Labs Unbound (1.7.0 through 1.25.1) lets an actor who controls a single delegated zone unde

CVE-2022-3204 HIGH
7.5 Sep 26

A vulnerability named 'Non-Responsive Delegation Attack' (NRDelegation Attack) has been discovered in various DNS resolv

CVE-2020-10772 HIGH
7.5 Nov 27

An incomplete fix for CVE-2020-12662 was shipped for Unbound in Red Hat Enterprise Linux 7, as part of erratum RHSA-2020

CVE-2020-12663 HIGH
7.5 May 19

Unbound before 1.10.1 has an infinite loop via malformed DNS answers received from upstream servers. Rated high severity

CVE-2020-12662 HIGH
7.5 May 19

Unbound before 1.10.1 has Insufficient Control of Network Message Volume, aka an "NXNSAttack" issue. Rated high severity

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Micro 5.5 Affected
SUSE Linux Enterprise Module for Basesystem 15 SP7 Affected

Share

CVE-2026-50251 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy