Vulnerability Details CVE-2026-56416
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.001
EPSS Ranking 2.0%
CVSS Severity
CVSS v3 Score 4.8
Products affected by CVE-2026-56416
-
cpe:2.3:a:nlnetlabs:unbound:-
-
cpe:2.3:a:nlnetlabs:unbound:0.0
-
cpe:2.3:a:nlnetlabs:unbound:0.1
-
cpe:2.3:a:nlnetlabs:unbound:0.10
-
cpe:2.3:a:nlnetlabs:unbound:0.11
-
cpe:2.3:a:nlnetlabs:unbound:0.2
-
cpe:2.3:a:nlnetlabs:unbound:0.3
-
cpe:2.3:a:nlnetlabs:unbound:0.4
-
cpe:2.3:a:nlnetlabs:unbound:0.5
-
cpe:2.3:a:nlnetlabs:unbound:0.6
-
cpe:2.3:a:nlnetlabs:unbound:0.7
-
cpe:2.3:a:nlnetlabs:unbound:0.7.1
-
cpe:2.3:a:nlnetlabs:unbound:0.7.2
-
cpe:2.3:a:nlnetlabs:unbound:0.8
-
cpe:2.3:a:nlnetlabs:unbound:0.9
-
cpe:2.3:a:nlnetlabs:unbound:1.0.0
-
cpe:2.3:a:nlnetlabs:unbound:1.0.1
-
cpe:2.3:a:nlnetlabs:unbound:1.0.2
-
cpe:2.3:a:nlnetlabs:unbound:1.1.0
-
cpe:2.3:a:nlnetlabs:unbound:1.1.1
-
cpe:2.3:a:nlnetlabs:unbound:1.10.0
-
cpe:2.3:a:nlnetlabs:unbound:1.10.1
-
cpe:2.3:a:nlnetlabs:unbound:1.11.0
-
cpe:2.3:a:nlnetlabs:unbound:1.12.0
-
cpe:2.3:a:nlnetlabs:unbound:1.13.0
-
cpe:2.3:a:nlnetlabs:unbound:1.13.1
-
cpe:2.3:a:nlnetlabs:unbound:1.13.2
-
cpe:2.3:a:nlnetlabs:unbound:1.14.0
-
cpe:2.3:a:nlnetlabs:unbound:1.15.0
-
cpe:2.3:a:nlnetlabs:unbound:1.16.0
-
cpe:2.3:a:nlnetlabs:unbound:1.16.1
-
cpe:2.3:a:nlnetlabs:unbound:1.16.2
-
cpe:2.3:a:nlnetlabs:unbound:1.16.3
-
cpe:2.3:a:nlnetlabs:unbound:1.17.0
-
cpe:2.3:a:nlnetlabs:unbound:1.17.1
-
cpe:2.3:a:nlnetlabs:unbound:1.18.0
-
cpe:2.3:a:nlnetlabs:unbound:1.19.0
-
cpe:2.3:a:nlnetlabs:unbound:1.19.1
-
cpe:2.3:a:nlnetlabs:unbound:1.19.2
-
cpe:2.3:a:nlnetlabs:unbound:1.19.3
-
cpe:2.3:a:nlnetlabs:unbound:1.2.0
-
cpe:2.3:a:nlnetlabs:unbound:1.2.1
-
cpe:2.3:a:nlnetlabs:unbound:1.20.0
-
cpe:2.3:a:nlnetlabs:unbound:1.21.0
-
cpe:2.3:a:nlnetlabs:unbound:1.21.1
-
cpe:2.3:a:nlnetlabs:unbound:1.22.0
-
cpe:2.3:a:nlnetlabs:unbound:1.23.0
-
cpe:2.3:a:nlnetlabs:unbound:1.23.1
-
cpe:2.3:a:nlnetlabs:unbound:1.24.0
-
cpe:2.3:a:nlnetlabs:unbound:1.24.1
-
cpe:2.3:a:nlnetlabs:unbound:1.24.2
-
cpe:2.3:a:nlnetlabs:unbound:1.25.0
-
cpe:2.3:a:nlnetlabs:unbound:1.25.1
-
cpe:2.3:a:nlnetlabs:unbound:1.3.0
-
cpe:2.3:a:nlnetlabs:unbound:1.3.1
-
cpe:2.3:a:nlnetlabs:unbound:1.3.2
-
cpe:2.3:a:nlnetlabs:unbound:1.3.3
-
cpe:2.3:a:nlnetlabs:unbound:1.3.4
-
cpe:2.3:a:nlnetlabs:unbound:1.4.0
-
cpe:2.3:a:nlnetlabs:unbound:1.4.1
-
cpe:2.3:a:nlnetlabs:unbound:1.4.10
-
cpe:2.3:a:nlnetlabs:unbound:1.4.11
-
cpe:2.3:a:nlnetlabs:unbound:1.4.13
-
cpe:2.3:a:nlnetlabs:unbound:1.4.14
-
cpe:2.3:a:nlnetlabs:unbound:1.4.15
-
cpe:2.3:a:nlnetlabs:unbound:1.4.16
-
cpe:2.3:a:nlnetlabs:unbound:1.4.17
-
cpe:2.3:a:nlnetlabs:unbound:1.4.18
-
cpe:2.3:a:nlnetlabs:unbound:1.4.19
-
cpe:2.3:a:nlnetlabs:unbound:1.4.2
-
cpe:2.3:a:nlnetlabs:unbound:1.4.20
-
cpe:2.3:a:nlnetlabs:unbound:1.4.21
-
cpe:2.3:a:nlnetlabs:unbound:1.4.22
-
cpe:2.3:a:nlnetlabs:unbound:1.4.3
-
cpe:2.3:a:nlnetlabs:unbound:1.4.4
-
cpe:2.3:a:nlnetlabs:unbound:1.4.5
-
cpe:2.3:a:nlnetlabs:unbound:1.4.6
-
cpe:2.3:a:nlnetlabs:unbound:1.4.7
-
cpe:2.3:a:nlnetlabs:unbound:1.4.8
-
cpe:2.3:a:nlnetlabs:unbound:1.4.9
-
cpe:2.3:a:nlnetlabs:unbound:1.5.0
-
cpe:2.3:a:nlnetlabs:unbound:1.5.1
-
cpe:2.3:a:nlnetlabs:unbound:1.5.10
-
cpe:2.3:a:nlnetlabs:unbound:1.5.2
-
cpe:2.3:a:nlnetlabs:unbound:1.5.3
-
cpe:2.3:a:nlnetlabs:unbound:1.5.4
-
cpe:2.3:a:nlnetlabs:unbound:1.5.5
-
cpe:2.3:a:nlnetlabs:unbound:1.5.6
-
cpe:2.3:a:nlnetlabs:unbound:1.5.6rc1
-
cpe:2.3:a:nlnetlabs:unbound:1.5.7
-
cpe:2.3:a:nlnetlabs:unbound:1.5.8
-
cpe:2.3:a:nlnetlabs:unbound:1.5.9
-
cpe:2.3:a:nlnetlabs:unbound:1.6.0
-
cpe:2.3:a:nlnetlabs:unbound:1.6.1
-
cpe:2.3:a:nlnetlabs:unbound:1.6.2
-
cpe:2.3:a:nlnetlabs:unbound:1.6.3
-
cpe:2.3:a:nlnetlabs:unbound:1.6.4
-
cpe:2.3:a:nlnetlabs:unbound:1.6.5
-
cpe:2.3:a:nlnetlabs:unbound:1.6.6
-
cpe:2.3:a:nlnetlabs:unbound:1.6.6-5
-
cpe:2.3:a:nlnetlabs:unbound:1.6.7
-
cpe:2.3:a:nlnetlabs:unbound:1.6.8
-
cpe:2.3:a:nlnetlabs:unbound:1.7.0
-
cpe:2.3:a:nlnetlabs:unbound:1.7.1
-
cpe:2.3:a:nlnetlabs:unbound:1.7.2
-
cpe:2.3:a:nlnetlabs:unbound:1.7.3
-
cpe:2.3:a:nlnetlabs:unbound:1.8.0
-
cpe:2.3:a:nlnetlabs:unbound:1.8.1
-
cpe:2.3:a:nlnetlabs:unbound:1.8.2
-
cpe:2.3:a:nlnetlabs:unbound:1.8.3
-
cpe:2.3:a:nlnetlabs:unbound:1.9.0
-
cpe:2.3:a:nlnetlabs:unbound:1.9.2
-
cpe:2.3:a:nlnetlabs:unbound:1.9.3
-
cpe:2.3:a:nlnetlabs:unbound:1.9.4
-
cpe:2.3:a:nlnetlabs:unbound:1.9.5
-
cpe:2.3:a:nlnetlabs:unbound:1.9.6