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

Impact

A heap buffer overflow occurs in NLnet Labs Unbound when the validator constructs the canonical RDATA for RRSIG‑covered PX/RP/MINFO/SOA RRsets. If the RRset contains multiple domain names but the second domain name is omitted, the code calculates the address of the second name from stale data and passes it to query_dname_tolower() without validation. This vulnerability corresponds to CWE‑125 (Out‑of‑bounds Read) and CWE‑354 (Buffer Uses Uninitialized Data). The wire‑format parser accepts such malformed records, allowing an attacker controlling a DNSSEC‑signed authoritative server to supply a malicious record that causes the function to read beyond the bounds of the per‑worker scratch buffer. This results in a heap overflow that can corrupt heap structures or adjacent memory; the exact outcome is unspecified for release builds.

Affected Systems

The vulnerability affects NLnet Labs Unbound 1.25.1 and all earlier releases. The official fix is available starting with Unbound 1.25.2 and later releases.

Risk and Exploitability

The CVSS score of 4.8 indicates moderate severity, reflecting the potential for memory corruption when a malicious DNSSEC‑signed authoritative server delivers a specially crafted record. The EPSS score of < 1 % suggests a low probability of exploitation in the wild at present. Because the vulnerability is not listed in the CISA KEV catalog, there is no evidence of current widespread exploitation. Attacking this CVE would require an attacker to supply a malformed RRSIG‑covered RRset that passes the wire‑format parser yet omits the second domain name, triggering the overflow during query processing on the Unbound instance.

Generated by OpenCVE AI on August 3, 2026 at 23:44 UTC.

Remediation

Vendor Solution

This issue is fixed starting with version 1.25.2


OpenCVE Recommended Actions

  • Upgrade to Unbound 1.25.2 or later to resolve the issue
  • If an upgrade cannot be performed immediately, disable DNSSEC validation for the affected zones or prevent the use of multi‑domain name RRsets that include the vulnerable types
  • Continuously monitor system stability and log entries for abnormal memory usage or crashes that may indicate exploitation

Generated by OpenCVE AI on August 3, 2026 at 23:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 28 Jul 2026 20:30:00 +0000

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

Fri, 24 Jul 2026 00:30:00 +0000

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

None

threat_severity

Moderate


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

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', '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 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.
Title Possible heap buffer overflow when validator canonicalizes RDATA that contains domain name
Weaknesses CWE-354
References
Metrics cvssV3_1

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


Subscriptions

Nlnetlabs Unbound
cve-icon MITRE

Status: PUBLISHED

Assigner: NLnet Labs

Published:

Updated: 2026-07-22T14:00:45.744Z

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

Link: CVE-2026-56416

cve-icon Vulnrichment

Updated: 2026-07-22T14:00:41.776Z

cve-icon NVD

Status : Analyzed

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

Modified: 2026-07-24T14:25:29.710

Link: CVE-2026-56416

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-22T13:10:24Z

Links: CVE-2026-56416 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T23:45:06Z

Weaknesses
  • CWE-125

    Out-of-bounds Read

  • CWE-354

    Improper Validation of Integrity Check Value