Vulnerability RUSTSEC-2026-0506

Unknown
UNKNOWN RISK
Vulnerabilities without an assigned CVSS score. Severity is not determinable from available data.
2 months ago
September 03, 2026 at 12:00 PM UTC
Inverted NSEC3 comparison lets one record "prove" that almost any name does not exist
>=0.0.0-0 <0.26.2
>=0.0.0-0 <0.26.2

Summary

Inverted NSEC3 comparison lets one record "prove" that almost any name does not exist

Details

When DNSSEC validation looks for the NSEC3 record that covers a hashed name, the last record in the zone's hash chain needs special handling, because its next hashed owner name sorts before its own hash. For that record the two comparisons were reversed: it was treated as covering every hash below its owner hash or above its next hash, which is mostly the part of the chain it does not cover.

An attacker who can answer or modify DNS responses can replay that one signed NSEC3 record, with its RRSIG, from the target zone and use it in forged negative answers. The validator then accepts proof that names which do exist have no records.

This affects DNSSEC validation through DnssecDnsHandle (resolver, recursor and client) when built with dnssec-ring or dnssec-aws-lc-rs. The same code was in hickory-proto before it moved to hickory-net.

The fix corrects the comparison in find_covering_record. It is in 0.26.2.

Impacted packages

Timeline

Published
2 months ago
September 03, 2026 at 12:00 PM UTC
Fixed (0.26.2)
2 months ago
September 03, 2026 at 07:35 PM UTC
Last Modified
1 day ago
November 12, 2026 at 02:10 PM UTC