CVE Wiki Pixee · CVE intelligence
← All CVEs

CVE-2026-33278

Critical · CVSS 9.8

NLnet Labs Unbound — Use-After-Free (UAF) / Dangling Pointer via deep copy struct-assignment bug enabling DoS and possible RCE in DNSSEC validator

CVSS
9.8
nvd
EPSS
KEV
No
Class
oss containerizable
CWE-416, CWE-672, CWE-416

Description

NLnet Labs Unbound 1.19.1 up to and including version 1.25.0 has a vulnerability in the DNSSEC validator that enables denial of service and possible remote code execution as a result of deep copying a data structure and erroneously overwriting a destination pointer. An adversary can exploit the vulnerability by controlling a malicious signed zone and querying a vulnerable Unbound. When DS sub-queries need to suspend validation due to NSEC3 computational budget exhaustion (introduced in Unbound 1.19.1), Unbound deep-copies response messages to preserve them across memory region teardown. A struct-assignment bug overwrites the destination's pointer with the source's pointer. After the sub-query region is freed, the resumed validator dereferences this dangling pointer, triggering a crash or potentially enabling arbitrary code execution. Unbound 1.25.1 contains a patch with a fix to preserve the correct pointer when deep copying the data structure.

Search profile — drives PoC discovery

Symbols NSEC3DS sub-querydnssec_validatordeep_copystruct-assignmentdangling pointersub-query regionNSEC3 computational budgetresponse message deep copyvalidator resumememory region teardown
Keywords CVE-2026-33278Unbound DNSSEC validator UAFUnbound dangling pointer NSEC3Unbound deep copy struct bugUnbound 1.19.1 1.25.0 vulnerabilityUnbound NSEC3 budget exhaustion crashUnbound DS sub-query use-after-freeUnbound 1.25.1 patchUnbound RCE DNSSECNLnet Labs Unbound PoC
Versions: 1.19.1 up to and including 1.25.0

References

Status: enriched · ingested 2026-06-30T06:00:22.000Z · profiled 2026-07-01T06:30:14.000Z