Netty, DNS Cache Poisoning, CVE-2026-45673 (High) -DC-Jun2026-298

Listen to this Post

The vulnerability exists due to a combination of two weak default behaviors in Netty’s DNS resolver (io.netty.resolver.dns). First, the `DnsQueryIdSpace` class manages 16‑bit transaction IDs (0–65535) inside buckets of 16,384 IDs but initializes only the first bucket. When an ID is returned, it is pushed back at a random index generated by `java.util.concurrent.ThreadLocalRandom` using the linear‑congruential generator (LCG) method. Because the resolver operates within a single bucket, an attacker who recovers the PRNG state can predict the entire sequence of transaction IDs. Second, the `DnsNameResolverBuilder` defaults to `ChannelPerResolver` as its channelStrategy. This binds the `DatagramChannel` only once, causing the same UDP source port to be reused for all outgoing DNS queries. The static source port eliminates the port‑randomisation defence, and the predictable transaction IDs remove the ID‑randomisation defence. Combined, the entropy of a DNS query is reduced to a few thousand possibilities instead of the expected billions, making it feasible for a remote attacker to spoof DNS responses and poison the resolver’s cache (the Kaminsky attack). Downstream applications using the default configuration may be redirected to malicious IPs, enabling traffic interception or machine‑in‑the‑middle attacks.

DailyCVE Form:

Platform: Netty
Version: ≤4.2.14.Final, ≤4.1.134.Final
Vulnerability: DNS Cache Poisoning
Severity: High
Date: 2026-06-08

Prediction: 2026-06-02

What Undercode Say:

Check Netty version in your project
grep "netty-resolver-dns" pom.xml
Test if source port is static (requires root)
sudo tcpdump -i eth0 -n udp port 53 | grep "$(hostname)"

Exploit:

Attacker recovers PRNG state and predicts transaction IDs. Then they send spoofed DNS responses with a forged answer before the real server replies. The static source port ensures the response reaches the Netty resolver, which caches the malicious record.

Protection:

  • Upgrade to Netty 4.2.15.Final or 4.1.135.Final.
  • Enable `ChannelPerEventLoop` to randomise source ports.
  • Enforce DNSSEC validation.
  • Limit recursion to trusted servers.

Impact:

DNS cache poisoning can redirect traffic to attacker‑controlled servers, leading to credential theft, malware delivery, or business disruption. Every application using the default Netty DNS resolver is at risk.

🎯Let’s Practice Exploiting & Learn Patching For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top