GitHub Advisoryadvisory · Maven
GHSA-5pvg-856g-cp85 Netty has Insufficient Bailiwick Validation for NS Records
HIGH
Official page ↗
- Aliases
- CVE-2026-47691
- Ecosystem
- Maven
- Packages
- io.netty:netty-resolver-dns
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
- Weaknesses
- CWE-345, CWE-346
- Reviewed
- 2026-06-08
Affected packages
• Maven io.netty:netty-resolver-dns: >= 4.2.0.Final, < 4.2.15.Final → fixed in 4.2.15.Final
• Maven io.netty:netty-resolver-dns: < 4.1.135.Final → fixed in 4.1.135.Final
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.
Related
Alias · CVE (1)
- CVE-2026-47691 Netty is a network application framework for development of protocol servers and clients. vulnerability
References
- https://github.com/netty/netty/security/advisories/GHSA-5pvg-856g-cp85 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-47691 advisory
- 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 web
- https://github.com/netty/netty package
- 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 web