RustSec logo

History ⋅ Edit ⋅ JSON (OSV)

RUSTSEC-2026-0504

Inverted NSEC3 comparison in DNSSEC validation (hickory-proto 0.25)

Reported
Issued
Package
hickory-proto (crates.io)
Type
Vulnerability
Categories
Keywords
#dns #dnssec #nsec3
Aliases
References
Patched
no patched versions
Unaffected
  • <0.25.0
  • >=0.26.0-beta.1

Description

In hickory-proto 0.25.0 through 0.26.0-alpha.1, DNSSEC validation handled the last NSEC3 record of a zone's hash chain with its two comparisons reversed. That record was treated as covering almost every hash it does not cover, so an attacker who can answer or modify DNS responses could replay it, with its RRSIG, to forge proofs that existing names have no records.

From 0.26.0-beta.1 the DNSSEC validation code lives in the hickory-net crate, where this was fixed in hickory-net 0.26.2. No hickory-proto release contains a fix. Users of DNSSEC validation in hickory-proto 0.25 (directly or through hickory-resolver or hickory-recursor 0.25) should move to the 0.26.2 or later releases, which validate through hickory-net.

Advisory available under CC0-1.0 license.