Skip to main content
VulnerabilityPublished Updated

Hickory proto: Memory amplification from record counts in the DNS message header

Affects hickory-protoSource GCVE Database

0
Severity
Unrated

Rated by Threat Radar

Patch
Available – fixed in 0.26.2

Data as of 11 Nov 2026, 13:20 UTC

What to do

Upgrade hickory-proto to 0.26.2.

Affected software

ProductAffectedFixed in
crates.iohickory-protopkg:cargo/hickory-protoOther threatsAffected
  • >=0.18.0 <0.26.2
Fixed in
  • 0.26.2

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

Description

When a DNS message is decoded, the vectors for the question, answer, authority and additional sections were created with `Vec::with_capacity` set to the counts in the message header. Those counts come from the sender and are not checked against the size of the message, so a single small packet that claims 65,535 records makes the decoder reserve memory for that many records (about 18 MB, according to the upstream advisory) before it reads any record and fails. Any code that decodes untrusted DNS messages is exposed. That includes servers, and clients and resolvers that receive spoofed responses. Repeated packets can drive memory use up and cause a denial of service. The fix caps the initial capacity at 8 entries and lets the vectors grow as records are actually decoded. It is in 0.26.2.

References

Community reviews

Loading reviews…