RustSec logo

History ⋅ Edit ⋅ JSON (OSV)

RUSTSEC-2026-0490

Zone file lexer panics on a token of 4096 or more characters

Reported
Issued
Package
hickory-proto (crates.io)
Type
Vulnerability
Categories
Keywords
#dns #zone-file #lexer #panic
Aliases
References
Patched
  • >=0.26.2
Unaffected
  • <0.24.0

Description

The zone file lexer read each token in a loop capped at 4,096 iterations, with an assert! on the loop counter as a safety bound. A single token long enough to reach that bound, for example a very long name or character string in a zone file, triggered the assertion and the parser panicked instead of returning the token or an error.

Code that parses zone files from an untrusted source can be made to panic, which is a denial of service.

The fix removes the iteration bound, so the lexer ends only when it reaches the end of a token or an error. It is in 0.26.2.

Advisory available under CC0-1.0 license.