CVE-2026-42959

Name
CVE-2026-42959
Description
NLnet Labs Unbound up to and including version 1.25.0 has a denial of service vulnerability in the DNSSEC validator that can lead to a crash given malicious upstream replies. When Unbound constructs chase-reply messages for validation, the code uses the wrong counter to calculate write offsets for ADDITIONAL section rrsets. DNAME duplication could increase the ANSWER section count and authority filtering could decrease the AUTHORITY section count and create an uninitialized array slot. Combining these two, the validator later dereferences this uninitialized pointer, causing an immediate process crash. An adversary controlling a DNSSEC-signed domain can trigger this bug with a single query by configuring a DNAME chain with unsigned CNAMEs and a response containing unsigned AUTHORITY records alongside signed ADDITIONAL glue records. Unbound 1.25.1 contains a patch with a fix to use the proper counters to calculate the write offsets.
NVD Severity
unknown
Other trackers
Mailing lists
Exploits
Forges
GitHub (code, issues), Aports (code, issues)

References

Type URI
sep@nlnetlabs.nl https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-42959.txt

Match rules

CPE URI Source package Min version Max version
cpe:2.3:a:nlnetlabs:unbound:*:*:*:*:*:*:*:* unbound >= None < 1.25.1

Vulnerable and fixed packages

Source package Branch Version Maintainer Status
unbound edge-main 1.25.1-r0 Jakub Jirutka <jakub@jirutka.cz> fixed
unbound edge-main 1.25.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.24.2-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.24.2-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.24.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.24.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.23.1-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.23.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.23.0-r2 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.23.0-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.23.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.22.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.21.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.20.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.19.2-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.19.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.16.3-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.16.2-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound edge-main 1.10.1-r0 None possibly vulnerable
unbound edge-main 1.9.5-r0 None possibly vulnerable
unbound edge-main 1.9.4-r0 None possibly vulnerable
unbound 3.23-main 1.24.2-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.22-main 1.23.1-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.22-main 1.23.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.22-main 1.23.0-r2 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.22-main 1.21.1-r0 None possibly vulnerable
unbound 3.22-main 1.20.0-r0 None possibly vulnerable
unbound 3.22-main 1.19.2-r0 None possibly vulnerable
unbound 3.22-main 1.19.1-r0 None possibly vulnerable
unbound 3.22-main 1.16.3-r0 None possibly vulnerable
unbound 3.22-main 1.16.2-r0 None possibly vulnerable
unbound 3.22-main 1.10.1-r0 None possibly vulnerable
unbound 3.22-main 1.9.5-r0 None possibly vulnerable
unbound 3.22-main 1.9.4-r0 None possibly vulnerable
unbound 3.21-main 1.22.0-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.21-main 1.22.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.21-main 1.21.1-r0 None possibly vulnerable
unbound 3.21-main 1.20.0-r0 None possibly vulnerable
unbound 3.21-main 1.19.2-r0 None possibly vulnerable
unbound 3.21-main 1.19.1-r0 None possibly vulnerable
unbound 3.21-main 1.16.3-r0 None possibly vulnerable
unbound 3.21-main 1.16.2-r0 None possibly vulnerable
unbound 3.21-main 1.10.1-r0 None possibly vulnerable
unbound 3.21-main 1.9.5-r0 None possibly vulnerable
unbound 3.21-main 1.9.4-r0 None possibly vulnerable
unbound 3.20-main 1.20.0-r2 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.20-main 1.20.0-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.20-main 1.20.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.20-main 1.19.2-r0 None possibly vulnerable
unbound 3.20-main 1.19.1-r0 None possibly vulnerable
unbound 3.20-main 1.16.3-r0 None possibly vulnerable
unbound 3.20-main 1.16.2-r0 None possibly vulnerable
unbound 3.20-main 1.10.1-r0 None possibly vulnerable
unbound 3.20-main 1.9.5-r0 None possibly vulnerable
unbound 3.20-main 1.9.4-r0 None possibly vulnerable
unbound 3.19-main 1.20.0-r2 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.19-main 1.20.0-r1 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.19-main 1.20.0-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.19-main 1.19.2-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.19-main 1.19.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
unbound 3.19-main 1.16.3-r0 None possibly vulnerable
unbound 3.19-main 1.16.2-r0 None possibly vulnerable
unbound 3.19-main 1.10.1-r0 None possibly vulnerable
unbound 3.19-main 1.9.5-r0 None possibly vulnerable
unbound 3.19-main 1.9.4-r0 None possibly vulnerable