Netty has Insufficient Bailiwick Validation for NS Records
GHSA-5pvg-856g-cp85 · CVE-2026-47691
Published · Modified
AI SAST
Find this class of vulnerability in your own code
Corgea's AI-native static analysis detects vulnerabilities like this one across your repositories, ranks them by exploitability, and returns review-ready fixes.
Description
Summary
Netty's DnsResolveContext insufficiently validates the bailiwick of NS records, enabling DNS Cache Poisoning. An attacker controlling an authoritative name server for a subdomain can poison the cache for parent domains (like .co.uk).
Details
In io.netty.resolver.dns.DnsResolveContext.AuthoritativeNameServerList#add method accepts any NS record from the AUTHORITY section as long as the record's name is a suffix of the questionName.
This means if the resolver queries evil.co.uk., it will accept an NS record claiming authority over co.uk.. Subsequently, the handleWithAdditional method caches the associated A records from the ADDITIONAL section directly into the authoritativeDnsServerCache under the parent domain's key (co.uk.). This bypasses standard bailiwick rules, where a server authoritative for a subdomain should not be trusted to provide authoritative records for its parent. The poisoned cache is then used for all future resolutions under co.uk..
The io.netty.resolver.dns.DnsResolveContext.AuthoritativeNameServerList#cache method only prevents caching if the record is for the root zone (dots == 1).
Impact
DNS Cache Poisoning. Any application using Netty's DNS resolver is impacted.
References
- WEB https://github.com/netty/netty/security/advisories/GHSA-5pvg-856g-cp85
- ADVISORY https://nvd.nist.gov/vuln/detail/CVE-2026-47691
- WEB https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-47691.json
- WEB https://github.com/netty/netty/releases/tag/netty-4.2.15.Final
- WEB https://github.com/netty/netty/releases/tag/netty-4.1.135.Final
- PACKAGE https://github.com/netty/netty
- WEB https://bugzilla.redhat.com/show_bug.cgi?id=2488439
- WEB https://access.redhat.com/security/cve/CVE-2026-47691
- WEB https://access.redhat.com/errata/RHSA-2026:65126
- WEB https://access.redhat.com/errata/RHSA-2026:62260
- WEB https://access.redhat.com/errata/RHSA-2026:54435
- WEB https://access.redhat.com/errata/RHSA-2026:53806
- WEB https://access.redhat.com/errata/RHSA-2026:53646
- WEB https://access.redhat.com/errata/RHSA-2026:53645
- WEB https://access.redhat.com/errata/RHSA-2026:53644
- WEB https://access.redhat.com/errata/RHSA-2026:50085
- WEB https://access.redhat.com/errata/RHSA-2026:49701
- WEB https://access.redhat.com/errata/RHSA-2026:49700
- WEB https://access.redhat.com/errata/RHSA-2026:48151
- WEB https://access.redhat.com/errata/RHSA-2026:41951
- WEB https://access.redhat.com/errata/RHSA-2026:37390
- WEB https://access.redhat.com/errata/RHSA-2026:34608
- WEB https://access.redhat.com/errata/RHSA-2026:26586
- WEB https://access.redhat.com/errata/RHSA-2026:26018
- WEB https://access.redhat.com/errata/RHSA-2026:26017
Ready to move
Start Securing
Free, no credit card | First findings in minutes