{"id":"CVE-2026-123579","kind":"vulnerability","aliases":["CVE-2026-123579"],"related":[],"title":"Hickory DNS: DNSSEC validation accepts forged wildcard answers for NODATA queries","description":"DNSSEC validation in Hickory DNS hickory-net 0.26.0-beta.1 before 0.26.2 and hickory-proto through 0.26.0-alpha.1 does not distinguish NODATA responses from wildcard-expanded positive responses. For a query that should return NODATA in a zone with wildcard records, an attacker can combine an NSEC3 record matching the query name with a signed wildcard record into a bogus positive response that validation accepts.","summary":"Hickory DNS's DNSSEC validation does not tell apart NODATA responses from wildcard-expanded positive responses. An attacker can combine an NSEC3 record with a signed wildcard record to produce a bogus positive answer that validation accepts.","severity":"medium","cvss":6.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["dns-resolver","dnssec","hickory-dns","package","rust"],"not_affected_if":["external-resolver","no-hickory-dependency"],"how_to_check":"- Check the version of hickory-net or hickory-proto in your dependency tree, for example with `cargo tree -i hickory-net` or `cargo tree -i hickory-proto`\n- Look for hickory-net `0.26.0-beta.1` or any version below `0.26.2`, and hickory-proto through `0.26.0-alpha.1`","fix":"- hickory-net: upgrade to `0.26.2` or later (fixed version stated in the sources for this CVE)\n- hickory-proto: fixed version not stated in the sources","status":"open","published_at":"2026-11-08T02:16:51+00:00","first_seen_at":"2026-11-08T02:21:12+00:00","triaged_at":"2026-11-08T02:25:03+00:00","updated_at":"2026-11-08T02:25:03+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-08T02:25:03Z","model":"claude-haiku-5-5","output":{"fix":"- hickory-net: upgrade to `0.26.2` or later (fixed version stated in the sources for this CVE)\n- hickory-proto: fixed version not stated in the sources","reach":"network","title":"Hickory DNS: DNSSEC validation accepts forged wildcard answers for NODATA queries","impact":"medium","summary":"Hickory DNS's DNSSEC validation does not tell apart NODATA responses from wildcard-expanded positive responses. An attacker can combine an NSEC3 record with a signed wildcard record to produce a bogus positive answer that validation accepts.","audience":"developers","category":"package","nicknames":[],"who_cares":["rust","hickory-dns","dnssec","dns-resolver"],"confidence":0.6,"fix_status":"available","needs_auth":"no","worst_case":"forged DNS answers accepted as DNSSEC-validated by the resolver","analyst_note":"Confirm the hickory-proto fixed version and whether a DNSSEC validation setting is needed to be exposed; see the vendor advisory on github.com and the VulnCheck advisory.","how_to_check":"- Check the version of hickory-net or hickory-proto in your dependency tree, for example with `cargo tree -i hickory-net` or `cargo tree -i hickory-proto`\n- Look for hickory-net `0.26.0-beta.1` or any version below `0.26.2`, and hickory-proto through `0.26.0-alpha.1`","plain_action":"","needs_analyst":true,"not_affected_if":["external-resolver","no-hickory-dependency"],"who_is_affected":"Applications that embed Hickory DNS for DNSSEC-validating resolution are exposed, most likely a Rust resolver or DNS server built on hickory-net. Systems that only use an external resolver and never link the Hickory crates can skip it. unknown for whether hickory-proto alone is exploitable without hickory-net.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000785,"input_tokens":4342,"output_tokens":701,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-123579':14A,17A '-2026':13A,16A '0.26.0':73C,82C '0.26.2':76C 'accept':5A,64B,131C 'alpha.1':83C 'answer':8A,61B 'apart':35B 'attack':45B,109C 'beta.1':74C 'bogus':59B,126C 'combin':47B,111C 'cve':12A,15A 'distinguish':86C 'dns':2A,19B,24B,28B,69C 'dns-resolv':18B 'dnssec':3A,21B,30B,65C 'expand':41B,92C 'forg':6A 'hickori':1A,23B,27B,68C,71C,79C 'hickory-dn':22B 'hickory-net':70C 'hickory-proto':78C 'match':115C 'name':118C 'net':72C 'nodata':10A,36B,87C,101C 'nsec3':49B,113C 'packag':25B 'posit':42B,60B,93C,127C 'produc':57B 'proto':80C 'queri':11A,97C,117C 'record':50B,55B,107C,114C,123C 'resolv':20B 'respons':37B,43B,88C,94C,128C 'return':100C 'rust':26B 'sign':53B,121C 'tell':34B 'valid':4A,31B,63B,66C,130C 'wildcard':7A,40B,54B,91C,106C,122C 'wildcard-expand':39B,90C 'zone':104C","nicknames":[],"mitigations":[],"who_affected":"Applications that embed Hickory DNS for DNSSEC-validating resolution are exposed, most likely a Rust resolver or DNS server built on hickory-net. Systems that only use an external resolver and never link the Hickory crates can skip it. unknown for whether hickory-proto alone is exploitable without hickory-net.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["dnsresolver","dnssec","hickorydns","medium","package","rust"],"campaign_type":null,"search_a":"'-123579':14A,17A '-2026':13A,16A 'accept':5A 'answer':8A 'cve':12A,15A 'dns':2A 'dnssec':3A 'forg':6A 'hickori':1A 'nodata':10A 'queri':11A 'valid':4A 'wildcard':7A","search_b":"'accept':64B 'answer':61B 'apart':35B 'attack':45B 'bogus':59B 'combin':47B 'dns':19B,24B,28B 'dns-resolv':18B 'dnssec':21B,30B 'expand':41B 'hickori':23B,27B 'hickory-dn':22B 'nodata':36B 'nsec3':49B 'packag':25B 'posit':42B,60B 'produc':57B 'record':50B,55B 'resolv':20B 'respons':37B,43B 'rust':26B 'sign':53B 'tell':34B 'valid':31B,63B 'wildcard':40B,54B 'wildcard-expand':39B","search_c":"'0.26.0':73C,82C '0.26.2':76C 'accept':131C 'alpha.1':83C 'attack':109C 'beta.1':74C 'bogus':126C 'combin':111C 'distinguish':86C 'dns':69C 'dnssec':65C 'expand':92C 'hickori':68C,71C,79C 'hickory-net':70C 'hickory-proto':78C 'match':115C 'name':118C 'net':72C 'nodata':87C,101C 'nsec3':113C 'posit':93C,127C 'proto':80C 'queri':97C,117C 'record':107C,114C,123C 'respons':88C,94C,128C 'return':100C 'sign':121C 'valid':66C,130C 'wildcard':91C,106C,122C 'wildcard-expand':90C 'zone':104C","first_public_at":"2026-09-03T20:51:58+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-123579","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123579","severity":null,"published_at":"2026-11-08T02:16:51+00:00","modified_at":"2026-11-08T02:16:51+00:00","first_seen_at":"2026-11-08T02:21:12+00:00","fetched_at":"2026-11-08T02:21:12+00:00","note":null}],"documents":[{"id":99309,"url":"https://github.com/hickory-dns/hickory-dns/security/advisories/GHSA-vrv5-968r-5ggm","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-09-03T20:51:58+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":99310,"url":"https://www.vulncheck.com/advisories/hickory-dns-0.26.0-beta.1-before-0.26.2-dnssec-validation-bypass-via-wildcard-expansion","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}