- Reported
-
- Issued
-
- Package
-
domain
(crates.io)
- Type
-
Vulnerability
- Categories
-
- References
-
- Patched
-
Description
Version 0.12.3 fixes a large number of panics, soundness issues, and
CPU and memory exhaustion issues in all parts of the crate.
The following is a summary of the issues per affected components.
For details, please see the release
notes.
Base
- Limited the number of compression pointers that are followed when parsing
a compressed name to 255 to avoid following really long chains.
- Limited the length of CNAME chains followed by
Message::canonical_name
to 20. This also fixed an integer overflow in this method when ANCOUNT
wasu16::MAX.
- Changed
QuestionSection::answer to skip over all remaining questions
without parsing the QNAMEs to avoid being slowed down by malicious
names.
- Added length checks when scanning and parsing variable length record
data types. This fixes issues with the message builder, which assumes that
record data is never too large for placing in a message.
Stub Resolver
- Fixed possible panics in the resolver’s
FoundHosts::qname and
FoundHosts::canonical_name.
- Fixed various issues in SRV processing.
Zonefile parsing
- Fixed soundness issues when reading UTF-8 and an integer overflow when
reading unsigned integers.
- Fixed a panic when reading empty TXT records.
Client and server transports, DNSSEC signer and validator
Fixed various panics that could be triggered by malicious incoming DNS
messages.
Zonetree
Fixed various panics and a memory exhaustion issue when updating the zone.
Acknowledgements
We would like to thank Qifan Zhang, Palo Alto Networks,
Antoni (Tony) Jagodka (@DrVelvetFog),
and @SebastiaanYN for
reporting issues fixed in this release.
Advisory available under CC0-1.0
license.