{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-44687","assignerOrgId":"206fc3a0-e175-490b-9eaa-a5738056c9f6","state":"PUBLISHED","assignerShortName":"NLnet Labs","dateReserved":"2026-06-22T12:35:21.340Z","datePublished":"2026-07-22T13:06:42.751Z","dateUpdated":"2026-07-22T14:19:53.266Z"},"containers":{"cna":{"title":"Off-by-one error in 'harden-below-nxdomain' logic can shadow a stub/forward zone by a legitimate parent's NXDOMAIN","datePublic":"2026-07-22T00:00:00.000Z","affected":[{"vendor":"NLnet Labs","product":"Unbound","versions":[{"version":"1.13.2","status":"affected","lessThan":"1.25.2","versionType":"semver"}],"defaultStatus":"unaffected"}],"descriptions":[{"lang":"en","value":"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)."}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV3_1":{"version":"3.1","baseScore":3.7,"baseSeverity":"LOW","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"}}],"problemTypes":[{"descriptions":[{"lang":"en","cweId":"CWE-193","description":"CWE-193: Off-by-one Error","type":"CWE"}]}],"solutions":[{"lang":"en","value":"This issue is fixed starting with version 1.25.2"}],"timeline":[{"time":"2026-05-04T00:00:00.000Z","lang":"en","value":"Issue reported by Qifan Zhang"},{"time":"2026-05-29T00:00:00.000Z","lang":"en","value":"NLnet Labs shares patch"},{"time":"2026-05-30T00:00:00.000Z","lang":"en","value":"Qifan Zhang verifies patch"},{"time":"2026-07-22T00:00:00.000Z","lang":"en","value":"Fixes released with version 1.25.2"}],"credits":[{"lang":"en","value":"Qifan Zhang (Palo Alto Networks)","type":"finder"}],"references":[{"url":"https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-44687.txt","tags":["vendor-advisory"]}],"providerMetadata":{"orgId":"206fc3a0-e175-490b-9eaa-a5738056c9f6","shortName":"NLnet Labs","dateUpdated":"2026-07-22T13:06:42.751Z"},"x_generator":{"engine":"cvelib 1.8.0"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-07-22T14:19:38.843549Z","id":"CVE-2026-44687","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-07-22T14:19:53.266Z"}}]}}