Hickory proto: Memory amplification from record counts in the DNS message header
Affects hickory-protoSource GCVE Database
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
| Product | Affected | Fixed in |
|---|---|---|
crates.iohickory-protopkg:cargo/hickory-protoOther threats | Affected
| Fixed in
|
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.