Skip to main content

NLnet Labs Unbound CVE-2026-109125

| EUVDEUVD-2026-107150 MEDIUM
Observable Behavioral Discrepancy (CWE-205)
2026-10-21 NLnet Labs GHSA-66rc-377g-m4m4
5.3
CVSS 3.1 · Vendor: NLnet Labs
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Find resolver with unwanted-reply-threshold>0
  2. Delivery
    Flood candidate upstream ports with UDP
  3. Exploit
    Observe RRset/message cache clearing
  4. Execution
    Identify active upstream source port
  5. Persist
    Birthday-guess matching query TXID
  6. Impact
    Inject 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Unbound 0 <1.26.2

Affected Packages

euvd unbound fix: 1.26.2

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

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

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (NLnet Labs).

CVSS VectorVendor: NLnet Labs

Attack Vector
Adjacent
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 10:16 EUVD
CVE Published
Oct 21, 2026 - 08:56 cve.org
MEDIUM 5.3

DescriptionCVE.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

EPSS Score
0.1%
Top 97% exploitable
Prevalence
High
Unbound is a widely deployed open-source recursive DNS resolver across ISPs/enterprises
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Controlled
Automatable· derived
No
Human Impact· derived
High

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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-81642 CRITICAL
9.1 Sep 16

A crafted DNSKEY whose owner name is a compression pointer into its own RDATA overflows the digest buffer in the DNSSEC

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-82717 HIGH
8.4 Sep 16

Heap-based memory corruption in NLnet Labs Unbound up to and including 1.26.0 lets a remote, unauthenticated attacker wh

CVE-2019-16866 HIGH
7.5 Oct 03

Unbound before 1.9.4 accesses uninitialized memory, which allows remote attackers to trigger a crash via a crafted NOTIF

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-81634 HIGH
7.5 Sep 16

Heap buffer overflow in NLnet Labs Unbound 1.26.0 and earlier can be triggered when a resolver processing a large TCP-fr

CVE-2026-85501 HIGH
7.5 Sep 16

Denial-of-service through algorithmic complexity attacks in NLnet Labs Unbound up to and including 1.26.0 can degrade or

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