Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessFind resolver with unwanted-reply-threshold>0
-
DeliveryFlood candidate upstream ports with UDP
-
ExploitObserve RRset/message cache clearing
-
ExecutionIdentify active upstream source port
-
PersistBirthday-guess matching query TXID
-
ImpactInject poisoned record into cache
Vulnerability Assessment
| Weakness |
CWE
|
| Exploitation Conditions | Exploitation requires the resolver operator to have explicitly set 'unwanted-reply-threshold' to a value greater than 0 - this is NOT the default, so default Unbound deployments are not vulnerable. The attacker must be able to send response-like UDP datagrams to the upstream source port currently used by a pending recursive query and must keep a concurrent query window alive long enough to drive the unwanted-reply counter to the configured threshold and then observe the resulting cache clear. Realistic exploitation is further limited because the vendor-suggested threshold (10 million) makes the probe unreliable on busy/public resolvers, and the full cache-poisoning outcome additionally requires winning birthday-style TXID guessing before the query resolves. Practically feasible mainly against lower-traffic or specifically-tuned internal resolvers where the attacker can sustain the query window. |
| Impact | This is a genuinely low-to-moderate real-world risk despite the credible integrity impact, and the signals are internally consistent. CVSS 3.1 base score is 5.3 (Medium) with AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - no privileges or user interaction, but high attack complexity. There is no EPSS score, no CISA KEV listing, and no public POC in the provided data, so exploitation status is 'no public exploit identified at time of analysis.' Critically, the vulnerability only exists under a non-default configuration ('unwanted-reply-threshold > 0'), and NLnet Labs explicitly notes the suggested threshold value (10 million) makes the attack unreliable against a public resolver. The AC:H rating is well justified because the attacker must maintain a concurrent query window and win a timing/probing race before the port rotates. The elevated I:H (and the real severity) comes not from the side channel itself but from its use as a stepping stone: leaking the upstream source port collapses the entropy a cache-poisoning attacker must guess, reducing the problem to birthday-style TXID guessing. One note of tension: the vendor rated this AV:A (adjacent), but off-path DNS cache-poisoning primitives are typically network-reachable (AV:N) - the practical blast radius may be slightly wider than AV:A implies, though AC:H and the non-default-config requirement remain the dominant limiting factors. Bottom line: not an emergency-patch item for default deployments, but operators who have deliberately enabled unwanted-reply-threshold should prioritize upgrading past 1.26.1. |
| Exploit ScenarioDerived | An off-path attacker targets an Unbound resolver (≤1.26.1) that an operator has configured with 'unwanted-reply-threshold > 0'. The attacker floods candidate upstream source ports with response-like UDP datagrams carrying non-matching TXIDs, then observes (as a normal client) whether the worker's RRset/message cache has been cleared, revealing the true upstream source port; with the port known, they perform birthday-style TXID guessing to inject a poisoned record. No public exploit code is identified in the available data, and the attack requires keeping a concurrent query window alive, so it is complex and situational rather than turnkey. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
NLnet Labs Unbound through 1.26.1 can expose a cache-level side-channel when operators explicitly configure unwanted-reply-threshold greater than 0, a non-default setting. An external observer who can send response-like UDP datagrams to the resolver’s current upstream source port can use the resulting RRset/message-cache clear as an oracle to test whether a candidate port is in use; by keeping a concurrent query window open and then performing birthday-style TXID guessing, this can become a feasible cache-poisoning path. The issue is assessed as low-to-moderate risk, with no public exploit identified at time of analysis.
RemediationAI
Set unwanted-reply-threshold to 0 (the default) or otherwise avoid enabling the non-default unwanted-reply cache-clear behavior unless it is operationally required; this removes the observable cache-clear oracle, at the cost of losing that unwanted-reply detection/response mechanism. Upgrade to a fixed Unbound release once NLnet Labs publishes one; no exact fixed version is specified in the provided data, so the advisory at https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-109125.txt should be treated as authoritative. As compensating controls, restrict recursive resolver access to trusted clients and block spoofed response-like UDP traffic where possible, and monitor for repeated cache clears or high unwanted-reply counts; these reduce exposure but do not eliminate the side channel if an attacker can still reach the upstream query port.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Unbound is a recursive DNS resolver that relies on unpredictable upstream UDP source ports and DNS transaction IDs (TXIDs) to prevent off-path cache poisoning. The unwanted-reply-threshold feature counts response-like datagrams that do not match a pending query; when the threshold is reached, Unbound clears the worker’s RRset cache and message cache but does not tear down the current upstream UDP pending query. This creates CWE-205 (Observable Behavioral Discrepancy): a cache hit/miss observation reveals whether a guessed source port matches the live upstream socket. The affected CPE is cpe:2.3:a:nlnet_labs:unbound:*:*:*:*:*:*:*:*, i.e., Unbound up to and including 1.26.1, but only installations that have set unwanted-reply-threshold to a value greater than 0 are exposed; default configurations are not affected. Exploitation is limited by the need to sustain the query window and by the vendor-suggested 10 million threshold making port probing unreliable on busy resolvers.
Know when Unbound gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Off-path attacker reachable over the network (AV:N, differing from vendor AV:A); AC:H for the timing/probing race and non-default config; port leak is C:L while enabled cache poisoning is I:H.
Primary rating from Vendor (NLnet Labs).
CVSS VectorVendor: NLnet Labs
Lifecycle Timeline
2DescriptionCVE.org
In NLnet Labs Unbound up to and including version 1.26.1, an observable cache-level side-channel can be exposed with 'unwanted-reply-threshold > 0' configurations (not a default configuration). If a response-like UDP datagram reaches the upstream source port currently used by a recursive query, but its TXID does not match any pending query, Unbound counts the packet as an unwanted reply. When the accumulated count reaches the configured threshold, Unbound clears the worker's RRset cache and message cache. This cache clear action does not destroy the current upstream UDP pending query. Therefore, an external observer can distinguish whether a candidate port matches the current upstream source port by checking whether an existing cached item has been cleared. This is a cache side-channel vulnerability that can be used to probe the upstream source port. Although the attack is not feasible on default configurations and the suggested value (10 million) makes it an ureliable attack on a public resolver, in scenarios where the attacker can keep a concurrent query window alive, the attacker can first filter the source port and then perform birthday-style guessing against the TXID, making cache poisoning a feasible attack path.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Unbound 1.6.4 through 1.9.4 contain a vulnerability in the ipsec module that can cause shell code execution after receiv
A crafted DNSKEY whose owner name is a compression pointer into its own RDATA overflows the digest buffer in the DNSSEC
Use-after-free in the DNSSEC validator of NLnet Labs Unbound resolver versions 1.19.1 through 1.25.0 allows remote attac
Remote denial of service in NLnet Labs Unbound recursive DNS resolver (versions up to and including 1.25.0) allows an at
Heap overflow denial-of-service in NLnet Labs Unbound recursive DNS resolver versions 1.14.0 through 1.25.0 allows remot
Heap-based memory corruption in NLnet Labs Unbound up to and including 1.26.0 lets a remote, unauthenticated attacker wh
Unbound before 1.9.4 accesses uninitialized memory, which allows remote attackers to trigger a crash via a crafted NOTIF
Remote denial of service in NLnet Labs Unbound 1.22.0 through 1.25.1 lets an unauthenticated client exhaust configured m
Remote denial-of-service in NLnet Labs Unbound 1.23.0 through 1.25.1 lets an attacker who controls a delegated DNS zone
Remote denial-of-service in NLnet Labs Unbound 1.9.0 through 1.25.1 allows an unauthenticated attacker to crash the recu
Heap buffer overflow in NLnet Labs Unbound 1.26.0 and earlier can be triggered when a resolver processing a large TCP-fr
Denial-of-service through algorithmic complexity attacks in NLnet Labs Unbound up to and including 1.26.0 can degrade or
EUVD-2026-107150
GHSA-66rc-377g-m4m4
NVD
CVE.org
EPSS
VulDB
Exploit-DB