hickory-resolver: Unbounded TC-retry loop in `NameServerPool::try_send` (resource-exhaustion DoS)
When the `hickory-resolver` name server pool implementation receives an upstream response with the TC (truncated) header bit set, it re-queues the request to the same nameserver to retry with UDP transport disabled. However, the retry arm never inspects the transport that just answered and carries no iteration counter. An authoritative server that sets `TC=1` on **every** available transport keeps the resolver spinning on one persistent TCP connection until the 5s per-request wall-clock deadline expires. ### Reporter Qifan Zhang, Palo Alto Networks
GHSA-6w6g-hm98-mhgm
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:GHSA-6w6g-hm98-mhgm
hickory-resolver
Source reference: /affected/0/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 0.26.2
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0.26.0-beta.1"
},
{
"fixed": "0.26.2"
}
]
}
],
"package": {
"name": "hickory-resolver",
"purl": "pkg:cargo/hickory-resolver",
"ecosystem": "crates.io"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-6w6g-hm98-mhgm/GHSA-6w6g-hm98-mhgm.json"
}
}
]Publisher severity
high
Source reference: /database_specific/severity
- Event
- #85910 · Revision 1
- Added to Heist Feed
- Publisher date