Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister and sign authoritative DNS zone
-
DeliveryCraft SOA record with RDATA truncated after first domain name
-
ExploitInduce victim Unbound resolver to query attacker-controlled zone
-
ExecutionDNSSEC validator computes unchecked second-name pointer from RDATA bounds
-
Persistquery_dname_tolower() walks label-by-label through stale scratch buffer bytes
-
ImpactHeap overflow corrupts adjacent chunk or crashes resolver process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Integrity verification
|
| Exploitation Conditions | Exploitation requires the attacker to operate a DNSSEC-signed authoritative DNS server and serve at least one of the affected RR types (SOA, PX, RP, or MINFO) with RDATA deliberately truncated to omit the second embedded domain name. The victim Unbound resolver must be induced to query a name within the attacker's signed zone - this can be achieved via social engineering (causing a user or application to resolve a hostname in the attacker's domain), CNAME chains, or referral injection that redirects resolver queries toward the attacker's zone. The out-of-bounds read through stale scratch buffer bytes occurs regardless of configuration; however, the heap overflow extending past the allocation boundary specifically requires msg-buffer-size to be set below its default value, which is a non-default configuration. Exploitation is limited by: (1) the AC:H requirement for attacker control of a DNSSEC-signed zone, which is non-trivial and prevents mass opportunistic exploitation; (2) non-deterministic outcome due to CWE-354 layout dependence, making reliable exploitation harder without environment-specific knowledge; (3) the msg-buffer-size prerequisite for worst-case heap corruption. No authentication is required (PR:N) - the attacker interacts via standard DNS protocol. |
| Impact | The vendor-assigned CVSS 3.1 score of 4.8 (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L) appropriately flags the AC:H constraint - exploitation requires attacker control of a DNSSEC-signed authoritative server and the ability to induce the target resolver to query it, which is not trivially satisfied at scale. No EPSS score was included in the intelligence package, and the CVE is not listed in the CISA KEV catalog, meaning no confirmed active exploitation exists at time of analysis. No public exploit code has been identified. The vendor's impact scoring of A:L may understate real-world availability risk: heap buffer overflow in a network-facing DNS resolver is a credible path to process crash, which represents full denial of DNS resolution for all clients depending on that resolver instance - particularly when msg-buffer-size is non-default. The CWE-354 classification signals that exploitation outcomes are layout-dependent, making repeatable exploitation harder for untargeted attackers but not impossible for a targeted adversary with knowledge of the deployment environment. The AC:H constraint is the primary mitigating factor and meaningfully limits opportunistic mass exploitation, but targeted attacks against specific resolver deployments remain realistic. |
| Exploit ScenarioDerived | An attacker registers a domain, configures a DNSSEC-signed authoritative server for it, and serves a crafted SOA record whose RDATA contains only the MNAME field, omitting the required RNAME domain name. When a victim Unbound resolver is induced - via social engineering, a CNAME referral, or a DNS rebinding technique - to query any name in that zone, the DNSSEC validator's canonical RDATA builder computes a pointer to the absent second name and passes it to query_dname_tolower(). On a resolver with msg-buffer-size lowered from its default, the function walks through stale heap bytes past the end of the scratch buffer allocation, corrupting adjacent heap metadata or triggering a crash that terminates DNS resolution for all dependent clients. No public POC code is known at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 22, 2026
Heap buffer overflow in NLnet Labs Unbound up to and including 1.25.1 allows a network attacker who controls a DNSSEC-signed authoritative server to corrupt heap memory or crash the resolver by serving a PX, RP, MINFO, or SOA record with RDATA truncated to omit the expected second embedded domain name. The DNSSEC validator's canonical RDATA construction routine computes a pointer to the absent second domain name and passes it unchecked to query_dname_tolower(), which then walks label-by-label through stale bytes in the per-worker env->scratch_buffer - overflowing the heap allocation when msg-buffer-size is configured below its default. No public exploit has been identified at time of analysis; exploitation is constrained by the AC:H requirement for attacker control of a DNSSEC-signed zone.
RemediationAI
Consult the NLnet Labs advisory at https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-56416.txt for the official patched release version and upgrade as soon as it is available - no specific fix version is independently confirmed from the current intelligence package. As an immediate compensating control, ensure msg-buffer-size is set to its default value rather than any reduced value; this does not eliminate the out-of-bounds read but prevents the overflow from extending past the scratch buffer allocation boundary, limiting worst-case impact to reading stale in-allocation bytes rather than corrupting adjacent heap chunks. Restricting the set of external zones the resolver may query - via Unbound's access-control directives or local RPZ policies - reduces the attack surface by limiting which attacker-controlled authoritative servers the resolver will interact with, though this degrades general recursive resolution capability and may not be feasible in all deployments. Placing Unbound behind a DNS proxy or firewall capable of validating RDATA structural integrity for SOA, MINFO, PX, and RP record types would provide an additional layer of defense, at the cost of added latency and operational complexity.
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 DNSSEC-validating recursive DNS resolver developed by NLnet Labs, deployed broadly across enterprise, ISP, and government environments. The flaw resides in the DNSSEC validator's canonical RDATA construction phase, executed when verifying RRSIG-covered resource record sets containing two embedded domain names - specifically RR types PX, RP, MINFO, and SOA. The code computes the address of the second domain name as datstart + dname_valid(datstart, ...) and forwards it directly to query_dname_tolower() without verifying that a second name actually exists within the RDATA bounds. The wire-format DNS parser accepts records whose RDATA ends after the first domain name, creating an exploitable gap between parser permissiveness and validator assumptions. CWE-354 (Reliance on Data/Memory Layout) precisely captures the root cause: once query_dname_tolower() begins walking stale bytes in the per-worker scratch buffer, the outcome depends entirely on whatever bytes occupy memory adjacent to the allocation - heap metadata, other worker state, or unmapped pages. Worst-case overflow past the allocation boundary is gated on msg-buffer-size being set below its default. Affected product per CPE: cpe:2.3:a:nlnet_labs:unbound:*:*:*:*:*:*:*:*.
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:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
Heap overflow in a network-facing DNS resolver credibly causes process crash warranting A:H; all other metrics align with vendor assessment.
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L
Primary rating from Vendor (NLnet Labs).
CVSS VectorVendor: NLnet Labs
Lifecycle Timeline
2DescriptionCVE.org
In NLnet Labs Unbound up to and including version 1.25.1, when the validator builds the canonical RDATA form for an RRSIG-covered PX/RP/MINFO/SOA RRset, it computes the address of the second embedded domain name as 'datstart + dname_valid(datstart, ...)' and passes it straight to 'query_dname_tolower()' without checking that a second name is actually present in the RDATA. The wire-format parser accepts multi-dname RRs whose RDATA ends after the first name, so an attacker who runs a DNSSEC-signed authoritative server can deliver a record with an absent second domain name (e.g. SOA record) and cause 'query_dname_tolower()' to walk label-by-label through stale bytes in the per-worker 'env->scratch_buffer', past the end of that heap allocation if 'msg-buffer-size' has been lowered from the default. This leads to heap buffer overflow and on a release build the outcome relies heavily on the contents of the buffer tail and the adjacent heap chunk.
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
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
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
Same technique Buffer Overflow
View allVendor 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 |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| SUSE CaaS Platform 4.0 | Affected |
| SUSE Enterprise Storage 6 | Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise Desktop 15 SP1 | Affected |
| SUSE Linux Enterprise Desktop 15 SP2 | Affected |
| SUSE Linux Enterprise Desktop 15 SP3 | Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP1 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP3 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP3 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP1 | Affected |
| SUSE Linux Enterprise Server 15 SP1-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Manager Proxy 4.0 | Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.0 | Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Server 4.0 | Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-47684
GHSA-2845-97v4-7wm3
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB