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.
[
{
"digest": {
"length": 1502.0,
"function_hash": "26148135886169857913239956572075736548"
},
"signature_version": "v1",
"id": "CVE-2026-33278-7cb89fac",
"target": {
"file": "services/rpz.c",
"function": "rpz_callback_from_iterator_module"
},
"deprecated": false,
"source": "https://github.com/nlnetlabs/unbound/commit/75b6dba593d4fff000434cd64807c6ebd50bd244",
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"108481287081154918060659085654141150584",
"73953166938600086918224773195867549742",
"15251087855327528788980657535362970158",
"48532896601082718174781974683716349061",
"287248990686482337183326495344180868363",
"112058947495561481565691171486557666856",
"238258467286774268681997190612827183971",
"126648031849056156900266153546629664662",
"335401097143186200364020904286165936708",
"336096779053276656395004922884987906159",
"248876396313049466881138460638611830858",
"293135123655960925553682804594622081358",
"298612071867479354827766089224387452786",
"217265304546593372824910550975155656654",
"13292601781282786772501437491204364169",
"281286782737850123600796590480125479595",
"74511316679551775089931390035715335201",
"161066344018382590627892027575409612852",
"226343512543910522766563315515650712879"
],
"threshold": 0.9
},
"id": "CVE-2026-33278-a3b17d2e",
"signature_version": "v1",
"target": {
"file": "services/rpz.c"
},
"deprecated": false,
"signature_type": "Line",
"source": "https://github.com/nlnetlabs/unbound/commit/75b6dba593d4fff000434cd64807c6ebd50bd244"
}
]
"2026-05-31T03:35:25Z"
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-33278.json"