{"id":"ALPINE-CVE-2026-44687","details":"In NLnet Labs Unbound 1.13.2 up to and including 1.25.1, stub or forward zones where the name is below an intermediate labed below a DNSSEC signed zone could be shadowed by the intermediate label's secure NXDOMAIN answer from the parent. This is caused by an off-by-one error in 'harden-below-nxdomain' logic; enabled by default. It effectively bypasses the configuration and the configured stub/forward zone is never contacted. 'harden-below-nxdomain' does an upward DNS cache walk together with a delegation point guard that does not allow NXDOMAIN synthesis above stub/forward zones. The guard tests the domain name but before stripping a label. This results in an iteration where the domain name equals the configured stub/forward zone apex that passes the guard, strips one more label, and probes the cache at the apex's immediate public parent. If that parent has a cached DNSSEC-secure NXDOMAIN, which it will for any private namespace nested two or more labels under a signed public name, the walk returns it and the configured stub/forward upstream is never contacted. This can only be triggered by the query for the intermediate label (between the stub/forward apex and the DNSSEC parent zone).","modified":"2026-09-18T17:30:03.631776291Z","published":"2026-07-22T14:17:19.040Z","upstream":["CVE-2026-44687"],"references":[{"type":"ADVISORY","url":"https://security.alpinelinux.org/vuln/CVE-2026-44687"}],"affected":[{"package":{"name":"unbound","ecosystem":"Alpine:v3.22","purl":"pkg:apk/alpine/unbound?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.13.2"},{"fixed":"1.25.2-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2026-44687.json"}},{"package":{"name":"unbound","ecosystem":"Alpine:v3.23","purl":"pkg:apk/alpine/unbound?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.13.2"},{"fixed":"1.25.2-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2026-44687.json"}},{"package":{"name":"unbound","ecosystem":"Alpine:v3.24","purl":"pkg:apk/alpine/unbound?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.13.2"},{"fixed":"1.25.2-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2026-44687.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"}]}