Skip to main content

NLnet Labs Unbound EUVDEUVD-2026-107154

| CVE-2026-97206 HIGH
Use After Free (CWE-416)
2026-10-21 NLnet Labs GHSA-jc7q-6h55-rr57
7.5
CVSS 3.1 · Vendor: NLnet Labs
View

Attack ChainAIDerived

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

  1. Access
    Connect as remote DoQ client
  2. Delivery
    Send query spawning pending mesh reply
  3. Exploit
    Trigger QUIC path migration mid-reply
  4. Execution
    Force stream/connection cleanup frees stream
  5. Persist
    Pending reply dereferences stale pointer
  6. Impact
    Resolver crash (DNS denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the target Unbound resolver (1.22.0-1.26.1) has DNS-over-QUIC (DoQ) enabled AND is running in multi-threaded mode - both are the specific preconditions named in the description; neither is the universal default for Unbound deployments. The attacker must be a remote DoQ client able to initiate a QUIC connection and trigger a path migration (PR:N, no authentication) while a mesh reply for that stream is still pending, i.e. the attacker must hit the timing window in which cleanup and the outstanding reply overlap. Limiting factors: resolvers that do not expose DoQ, or run single-threaded, are not affected; success is race-dependent, so a single attempt may not reliably crash the service; impact is confined to availability (service crash) with no data exposure or code execution indicated.

Impact

This is a genuine but bounded availability risk. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) describes a remote, unauthenticated, availability-only impact with no confidentiality or integrity loss - consistent with the description, which explicitly ends in a crash (denial of service), not code execution, despite the CWE-416 use-after-free classification. One caveat: the vendor rated attack complexity as AC:L, but the described mechanism is a race between QUIC path-migration-triggered stream/connection cleanup and a still-pending mesh reply holding a stale pointer under multi-threaded operation; a timing-window race of this kind more honestly warrants AC:H, which would lower the real-world score. No EPSS score was provided in the input, and there is no CISA KEV listing and no public proof-of-concept referenced - only a vendor advisory from NLnet Labs. Net assessment: a real, patch-worthy DoS affecting resolvers that have specifically enabled DNS-over-QUIC with multiple threads, but NOT a drop-everything widespread-exploitation emergency - exploitation is gated by a non-default protocol feature and a timing-dependent race, and there is no evidence of exploitation in the wild.

Exploit ScenarioDerived

A remote attacker connects to an Unbound resolver that has DNS-over-QUIC enabled and runs with multiple threads, then issues queries and triggers a QUIC connection path migration at a moment when a mesh reply is still pending for that stream. The cleanup frees the DoQ stream while the pending reply retains a pointer to it, and when the reply later completes it dereferences the freed memory, crashing the resolver and denying DNS service to downstream clients. No public exploit code is identified at time of analysis, and exploitation depends on winning a timing race.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 21, 2026

Denial of service in NLnet Labs Unbound versions 1.22.0 through 1.26.1, where a remote DNS-over-QUIC client can crash the resolver by triggering a QUIC path migration at the moment a mesh reply still holds a pointer to the associated DoQ stream. The resulting use-after-free dereferences the freed stream when the pending reply completes, terminating the process and interrupting DNS resolution for all clients of that instance. Exploitation is race-dependent and only possible when DoQ is enabled and Unbound runs multi-threaded; no public exploit code was identified and the issue is not confirmed actively exploited (CISA KEV), so this is a genuine but bounded availability risk rather than a wormable or data-exposing flaw.

RemediationAI

Apply the Unbound release that follows 1.26.1 as documented in the vendor advisory at https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-97206.txt; patch availability is confirmed per vendor advisory, but no exact fixed version string is present in the supplied data, so verify the target version against that advisory before upgrading. If an immediate upgrade is not possible, the most direct mitigation is to disable DNS-over-QUIC entirely (remove or set the DoQ/QUIC listener configuration so no QUIC port is bound, and block the configured QUIC port at the network perimeter), accepting the loss of DoQ transport for clients; alternatively, force single-threaded operation (num-threads: 1) to eliminate the multi-threaded lifetime race, at the cost of reduced throughput and resolver scalability on large deployments. Unbound's own supervision (systemd Restart=, or a process watchdog) plus monitoring for worker crashes provides only limited containment since repeated trigger attempts can sustain an outage. Note that TLS/port-based filtering of DoQ is coarse because QUIC traffic is encrypted, so endpoint-level configuration changes are preferred over deep inspection.

Affected VersionsENISA

Unbound 1.22.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 validating, recursive, caching DNS resolver, and its DNS-over-QUIC (DoQ) support in the 1.22.0-1.26.1 line couples the QUIC transport layer (per-stream and per-connection state) with the internal "mesh" request/response plumbing used to route queries across worker threads. The vulnerability is CWE-416 (use-after-free): when a remote DoQ client initiates a QUIC path migration, Unbound's connection/stream cleanup logic can run while an outstanding mesh reply still carries a pointer to that DoQ stream object. The stream is freed during cleanup, and the later completion of the mesh reply dereferences the stale pointer, corrupting memory and crashing the worker. Because the flaw sits in a lifetime/ownership boundary between asynchronous I/O and the mesh scheduler, it is only reachable under multi-threaded operation and depends on a narrow timing overlap between cleanup and reply delivery - consistent with the independently assessed vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H, which rates the attack complexity high despite the original 7.5 submission scoring it as low. Impact is confined to availability; no confidentiality or integrity impact, code execution, or data exposure is indicated.

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 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 5.9 MEDIUM

Remote unauthenticated DoQ client (AV:N/PR:N/UI:N), but the use-after-free is a timing race between cleanup and a pending reply, so AC:H; impact is crash-only, hence A:H with C:N/I:N.

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

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
High

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 10:16 EUVD
CVE Published
Oct 21, 2026 - 08:57 cve.org
HIGH 7.5

DescriptionCVE.org

NLnet Labs Unbound, 1.22.0 up to and including version 1.26.1, contains a DNS-over-QUIC (DoQ) lifetime bug reachable by a remote DoQ client under multi-threaded operation. A client-triggered QUIC path migration can enter stream/connection cleanup while a mesh reply still retains a pointer to the DoQ stream. Cleanup frees the DoQ stream and when the pending mesh reply later completes it dereferences a stale pointer leading to a crash.

Executive ViewAI

Why It Matters

NLnet Labs Unbound, the recursive resolver underpinning our DNS service, is affected by a remotely triggerable crash in versions 1.22.0 through 1.26.1 that can take a resolver instance completely offline and interrupt name resolution for every client that instance serves. The flaw requires DNS-over-QUIC to be enabled and multi-threaded operation, and its race-dependent nature makes reliable exploitation difficult, so the exposure is a bounded availability and service-continuity risk rather than a data-compromise or self-propagating threat. Because no vendor-released patch has been identified at time of analysis, leadership should frame this as an operational-resilience decision: reduce exposure through configuration now, and plan the upgrade path for when a fix ships.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: disable the DoQ listener where DNS-over-QUIC is not a required service; restrict UDP 853 to trusted client networks via firewall or ACL; set num-threads to 1 on exposed instances to remove the multi-threaded precondition, accepting the associated throughput cost; and run resolvers under a process supervisor with automatic restart, crash alerting, and redundant instances behind health checks so a single process termination does not interrupt resolution for the broader client base.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
High
Unbound is a widely deployed open-source recursive DNS resolver
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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

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

Attack Technique

Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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