{"id":"RUSTSEC-2026-0310","summary":"Various panics, soundness and resource exhaustion issues","details":"Version 0.12.3 fixes a large number of panics, soundness issues, and\nCPU and memory exhaustion issues in all parts of the crate.\n\nThe following is a summary of the issues per affected components.\nFor details, please see the [release\nnotes](https://github.com/NLnetLabs/domain/releases/tag/v0.12.3).\n\n## Base\n\n* Limited the number of compression pointers that are followed when parsing\n  a compressed name to 255 to avoid following really long chains.\n* Limited the length of CNAME chains followed by `Message::canonical_name`\n  to 20. This also fixed an integer overflow in this method when ANCOUNT\n  was`u16::MAX`.\n* Changed `QuestionSection::answer` to skip over all remaining questions\n  without parsing the QNAMEs to avoid being slowed down by malicious\n  names.\n* Added length checks when scanning and parsing variable length record\n  data types. This fixes issues with the message builder, which assumes that\n  record data is never too large for placing in a message.\n\n## Stub Resolver\n\n* Fixed possible panics in the resolver’s `FoundHosts::qname` and\n  `FoundHosts::canonical_name`.\n* Fixed various issues in SRV processing.\n\n## Zonefile parsing\n\n* Fixed soundness issues when reading UTF-8 and an integer overflow when\n  reading unsigned integers.\n* Fixed a panic when reading empty TXT records.\n\n## Client and server transports, DNSSEC signer and validator\n\nFixed various panics that could be triggered by malicious incoming DNS\nmessages.\n\n## Zonetree\n\nFixed various panics and a memory exhaustion issue when updating the zone.\n\n## Acknowledgements\n\nWe would like to thank Qifan Zhang, Palo Alto Networks,\nAntoni (Tony) Jagodka ([@DrVelvetFog](https://github.com/DrVelvetFog)),\nand [@SebastiaanYN](https://github.com/SebastiaanYN) for\nreporting issues fixed in this release.","modified":"2026-09-25T18:00:04.476715679Z","published":"2026-09-25T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/domain"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2026-0310.html"},{"type":"WEB","url":"https://github.com/NLnetLabs/domain/releases/tag/v0.12.3"}],"affected":[{"package":{"name":"domain","ecosystem":"crates.io","purl":"pkg:cargo/domain"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.12.3"}]}],"ecosystem_specific":{"affected_functions":null,"affects":{"arch":[],"os":[],"functions":[]}},"database_specific":{"cvss":null,"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0310.json","informational":null,"categories":["denial-of-service"]}}],"schema_version":"1.9.0"}