Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
10.0

CVE-2026-47691: Netty DNS resolver can be poisoned by malicious subdomain

CVE-2026-47691 · published 4 months ago
Summary

Versions of Netty before 4.1.135.Final and 4.2.15.Final may accept false DNS records from a subdomain and store them as if they were for the parent domain. This lets an attacker who controls a subdomain trick the system into using incorrect address information for many websites. Upgrade Netty to the patched versions or apply your operating system's security updates to fix the problem.

What to do
  • Update netty io.netty:netty-resolver-dns to version 4.2.15.Final.
  • Update netty io.netty:netty-resolver-dns to version 4.1.135.Final.
  • Update root io.root.io.netty:netty-resolver-dns to version 4.1.126.Final-root.io.17.
  • Update root io.root.io.netty:netty-resolver-dns to version 4.1.126.Final-root.io.19.
  • Update netty io.netty:netty-resolver-dns to version 4.1.126.Final-aikido.19.
  • Update root io.root.io.netty:netty-resolver-dns to version 4.1.118.Final-root.io.21.
  • Update netty io.netty:netty-resolver-dns to version 4.1.118.Final-aikido.21.
  • Update root io.root.io.netty:netty-resolver-dns to version 4.1.126.Final-root.io.21.
  • Update netty io.netty:netty-resolver-dns to version 4.1.126.Final-aikido.21.
  • Update root io.root.io.netty:netty-resolver-dns to version 4.1.118.Final-root.io.22.
  • Update netty io.netty:netty-resolver-dns to version 4.1.118.Final-aikido.22.
  • Update root io.root.io.netty:netty-resolver-dns to version 4.1.126.Final-root.io.22.
  • Update netty io.netty:netty-resolver-dns to version 4.1.126.Final-aikido.22.
  • Update io.netty:netty-resolver-dns to version 4.2.15.Final.
  • Update io.netty:netty-resolver-dns to version 4.1.135.Final.
  • Update io.netty:netty-resolver-dns to version 4.1.118.Final-aikido.24.
  • Update io.root.io.netty:netty-resolver-dns to version 4.1.118.Final-root.io.24.
  • Update canonical netty to version 1:4.1.48-9ubuntu0.2+esm2.
  • Update io.netty:netty-resolver-dns to version 4.1.118.Final-aikido.26.
  • Update io.root.io.netty:netty-resolver-dns to version 4.1.118.Final-root.io.26.
Affected software
Ecosystem VendorProductAffected versions
maven netty io.netty:netty-resolver-dns >= 4.2.0.Final, <= 4.2.14.Final
<= 4.1.134.Final
Fix: upgrade to 4.2.15.Final
Debian:11 debian netty All versions
Debian:12 debian netty All versions
Debian:13 debian netty All versions
Debian:14 debian netty All versions
– netty netty < 4.1.135
>= 4.2.0, < 4.2.15
>= 4.2.0.Final, < 4.2.15.Final
cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*
Root:Maven root io.root.io.netty:netty-resolver-dns < 4.1.126.Final-root.io.17
< 4.1.126.Final-root.io.19
< 4.1.118.Final-root.io.21
< 4.1.126.Final-root.io.21
< 4.1.118.Final-root.io.22
< 4.1.126.Final-root.io.22
Fix: upgrade to 4.1.126.Final-root.io.17
Ubuntu:Pro:14.04:LTS canonical netty All versions
Ubuntu:Pro:16.04:LTS canonical netty All versions
Ubuntu:Pro:18.04:LTS canonical netty All versions
Ubuntu:Pro:20.04:LTS canonical netty All versions
Ubuntu:Pro:22.04:LTS canonical netty All versions
Ubuntu:Pro:24.04:LTS canonical netty < 1:4.1.48-9ubuntu0.2+esm2
Fix: upgrade to 1:4.1.48-9ubuntu0.2+esm2
Ubuntu:25.10 canonical netty All versions
Ubuntu:Pro:26.04:LTS canonical netty All versions
Root:Maven netty io.netty:netty-resolver-dns < 4.1.126.Final-aikido.19
< 4.1.118.Final-aikido.21
< 4.1.126.Final-aikido.21
< 4.1.118.Final-aikido.22
< 4.1.126.Final-aikido.22
Fix: upgrade to 4.1.126.Final-aikido.19
maven – io.netty:netty-resolver-dns >= 4.2.0.Final, <= 4.2.14.Final
<= 4.1.134.Final
Fix: upgrade to 4.2.15.Final
Root:Maven – io.netty:netty-resolver-dns < 4.1.118.Final-aikido.24
< 4.1.118.Final-aikido.26
Fix: upgrade to 4.1.118.Final-aikido.24
Root:Maven – io.root.io.netty:netty-resolver-dns < 4.1.118.Final-root.io.24
< 4.1.118.Final-root.io.26
Fix: upgrade to 4.1.118.Final-root.io.24
Maven – io.netty:netty-resolver-dns >= 4.2.0.Final, < 4.2.15.Final
< 4.1.135.Final
Fix: upgrade to 4.2.15.Final
Original advisory text
Netty has Insufficient Bailiwick Validation for NS Records
Netty is a network application framework for development of protocol servers and clients. Prior to versions 4.1.135.Final and 4.2.15.Final, 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`). 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. Subsequently, the `handleWithAdditional` method caches the associated A records from the ADDITIONAL section directly into the `authoritativeDnsServerCache` under the parent domain's key. 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 the parent domain's key. Versions 4.1.135.Final and 4.2.15.Final patch the issue.
References
Fix within
Internet-facing 14 days
Internal At next upgrade
  • Not known to be exploited
  • Needs hands-on effort to exploit
  • Gives an attacker full control
Severity
10.0 Critical
Exploitation
<1% chance of attack within 30 days
Type
CWE-345Insufficient Verification of Data Authenticity
CWE-346Origin Validation Error
Timeline
Published12 Jun 2026
Updated12 Oct 2026
First seen8 Jun 2026
Track software like this
Free during beta