'dns-error-reporting: yes' leads to stack buffer overflow
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| NLnet Labs | Unbound | unaffected |
|
| Package | CPE | Advisory | Released Date |
|---|---|---|---|
| Red Hat Hardened Images | |||
| unbound-main-1.25.2-0.1.hum1 | cpe:/a:redhat:hummingbird:1 | RHSA-2026:43588 | 2026-07-22T00:00:00Z |
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Nlnetlabs | Unbound |
|
Vendor Solution
This issue is fixed starting with version 1.25.2
| Source | ID | Title |
|---|---|---|
Debian DSA |
DSA-6507-1 | unbound security update |
Ubuntu USN |
USN-8946-1 | Unbound vulnerabilities |
Ubuntu USN |
USN-8946-2 | Unbound vulnerabilities |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.281% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Nlnetlabs
Nlnetlabs unbound |
|
| Vendors & Products |
Nlnetlabs
Nlnetlabs unbound |
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Redhat
Redhat hummingbird |
|
| Weaknesses | CWE-805 | |
| CPEs | cpe:/a:redhat:hummingbird:1 | |
| Vendors & Products |
Redhat
Redhat hummingbird |
|
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | 'dns-error-reporting: yes' leads to stack buffer overflow | |
| Weaknesses | CWE-20 | |
| References |
| |
| Metrics |
cvssV3_1
|