Description
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.
Published: 2026-07-22
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Unbound processes DNS replies with the control field 'unwanted-reply-threshold'; when enabled, any reply from an IP that does not match the source IP 0.0.0.0/::0 is counted as an unwanted reply (CWE‑184). In this vulnerability, a malicious delegation can supply in‑bailiwick glue records of 0.0.0.0 or ::0. The kernel routes those packets back over loopback, causing Unbound to receive replies from 127.0.0.1. Because the source IP does not match 0.0.0.0/::0, each reply is considered spoofed, incrementing the counter. Once the counter reaches the configured 'unwanted‑reply‑threshold', Unbound performs a defensive full‑cache flush. The counter resets after each flush, allowing an attacker to repeatedly trigger cache clearing without sending spoofed packets.

Affected Systems

NLnet Labs Unbound versions up to and including 1.25.1 with 'unwanted-reply-threshold' enabled are vulnerable. Versions 1.25.2 and later contain the fix.

Risk and Exploitability

The CVSS score of 5.3 indicates moderate severity. The EPSS score is <1 %, reflecting a low probability but not zero exploitation likelihood. The flaw is not listed in the CISA KEV catalog. An attacker who controls a delegation that returns 0.0.0.0/::0 glue can trigger the cache clear by sending ordinary DNS queries to the vulnerable Unbound instance. The attack requires remote control of the delegation but no spoofed traffic, making it relatively easy to perform from any network that can reach the server.

Generated by OpenCVE AI on August 2, 2026 at 18:04 UTC.

Remediation

Vendor Solution

This issue is fixed starting with version 1.25.2


OpenCVE Recommended Actions

  • Upgrade Unbound to version 1.25.2 or later
  • Disable the 'unwanted-reply-threshold' setting in the Unbound configuration to prevent defensive cache flushes
  • Prevent delegations from returning in‑bailiwick glue records of 0.0.0.0/::0 through DNS zone management

Generated by OpenCVE AI on August 2, 2026 at 18:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 28 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-835
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 27 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Nlnetlabs
Nlnetlabs unbound
Vendors & Products Nlnetlabs
Nlnetlabs unbound

Wed, 22 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 22 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Attacker supplied '0.0.0.0'/'::' glue triggers defensive full-cache flush
Weaknesses CWE-184
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}


Subscriptions

Nlnetlabs Unbound
cve-icon MITRE

Status: PUBLISHED

Assigner: NLnet Labs

Published:

Updated: 2026-07-22T14:34:49.620Z

Reserved: 2026-06-22T12:27:22.791Z

Link: CVE-2026-50251

cve-icon Vulnrichment

Updated: 2026-07-22T14:34:44.828Z

cve-icon NVD

Status : Analyzed

Published: 2026-07-22T14:17:20.503

Modified: 2026-07-24T14:05:26.497

Link: CVE-2026-50251

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-22T13:08:43Z

Links: CVE-2026-50251 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-02T18:15:04Z

Weaknesses
  • CWE-184

    Incomplete List of Disallowed Inputs

  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')