RUSTSEC-2026-0518

Source
https://rustsec.org/advisories/RUSTSEC-2026-0518
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0518.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2026-0518
Aliases
Published
2026-09-03T12:00:00Z
Modified
2026-11-12T14:30:06Z
Summary
DNSSEC validation cache could reuse an Insecure result for a different name
Details

The DNSSEC validation cache used a 64-bit hash of the query as its key, and two keys with the same hash counted as equal. The Hash implementation of Name hashed the bytes of the labels but not where one label ends and the next begins, so names that differ only in the placement of dots (such as ab.c. and a.bc.) hashed to the same value.

An attacker who controls an unsigned delegation whose name collides in this way with a name in a signed zone can first get an Insecure result cached for their own name. A forged response for the signed name is then served from that cache entry without signature checks and returned with the AD bit clear, where validation should have failed.

This affects DNSSEC validation through DnssecDnsHandle when built with dnssec-ring or dnssec-aws-lc-rs.

The fix stores the query in the cache key and compares it on lookup. The Hash implementations of Label, Name and LowerName in hickory-proto were also changed to include label boundaries. Both are in 0.26.2.

Database specific
{
    "license": "CC0-1.0"
}
References

Affected packages

crates.io / hickory-net

Package

Name
hickory-net
View open source insights on deps.dev
Purl
pkg:cargo/hickory-net

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0-0
Fixed
0.26.2

Ecosystem specific

{
    "affected_functions": null,
    "affects": {
        "arch": [],
        "functions": [],
        "os": []
    }
}

Database specific

categories
[
    "privilege-escalation"
]
cvss
null
informational
null
source
"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0518.json"