Unbound 1.23.0-1.25.1 EDNS Report-Channel Stack Overflow via Malformed Agent Domain
CVE-2026-55973 Published on July 22, 2026

'dns-error-reporting: yes' leads to stack buffer overflow
In NLnet Labs Unbound 1.23.0 up to and including 1.25.1, when 'dns-error-reporting: yes' is set, the EDNS Report-Channel option (code 18) from the last upstream response is read and uses the option's length as the length of the agent domain. When a domain name check is performed on the agent domain, the returned lenght is not used and if the agent domain is followed by garbage, those bytes are moved onto the tail of the synthetic '_er.' report query name. That query name is later used in the iterator via a subquery to send out the DNS Error Report and when Unbound tries to walk that query name during 'find_closest_of_type()', it strips labels using the query name length rather than stopping at the embedded root, walks one byte past it, and feeds the first garbage byte to 'dname_query_hash()' as a label length writing over the stack variable 'labuf'. One ordinary upstream response from a delegated zone the attacker controls is sufficient to terminate the daemon.

Vendor Advisory NVD

Timeline

Issue reported by Qifan Zhang

NLnet Labs shares patch 25 days later.

Qifan Zhang verifies patch 1 day later.

Fixes released with version 1.25.2 53 days later.

Weakness Type

Improper Input Validation

The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.


Products Associated with CVE-2026-55973

Want to know whenever a new CVE is published for Nlnetlabs Unbound? stack.watch will email you.

 

Affected Versions

NLnet Labs Unbound:

Exploit Probability

EPSS
0.29%
Percentile
21.34%

EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.