<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 01 Oct 2026 15:14:46 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-45673 — Netty: DNS Cache Poisoning due to Predictable PRNG and Default Static Source Port</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-45673</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; netty&lt;/p&gt;
&lt;p&gt;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&amp;#39;s DNS resolver uses a predictable PRNG for generating DNS transaction IDs and defaults to a static UDP source port. This combination reduces the entropy of DNS queries, enabling DNS Cache Poisoning (Kaminsky attack). Versions 4.1.135.Final and 4.2.15.Final patch the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; netty&lt;/p&gt;
&lt;p&gt;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&amp;#39;s DNS resolver uses a predictable PRNG for generating DNS transaction IDs and defaults to a static UDP source port. This combination reduces the entropy of DNS queries, enabling DNS Cache Poisoning (Kaminsky attack). Versions 4.1.135.Final and 4.2.15.Final patch the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-45673</guid>
    </item>
    <item>
      <title>GHSA-xmv7-r254-6q78 — Netty: DNS Cache Poisoning due to Predictable PRNG and Default Static Source Port</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-xmv7-r254-6q78</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: io.netty:netty-resolver-dns&lt;/p&gt;
&lt;p&gt;### Summary
Netty&amp;#39;s DNS resolver uses a predictable PRNG for generating DNS transaction IDs and defaults to a static UDP source port. This combination reduces the entropy of DNS queries, enabling DNS Cache Poisoning (Kaminsky attack).&lt;/p&gt;
&lt;p&gt;### Details
Two factors contribute to this vulnerability in io.netty.resolver.dns:
- Predictable Query IDs: `DnsQueryIdSpace` manages 16-bit transaction IDs in buckets of 16,384 IDs. It initializes only the first bucket. When an ID is returned, it is pushed back into the bucket at a random index generated by java.util.concurrent.ThreadLocalRandom:&lt;/p&gt;
&lt;p&gt;```java
Random random = ThreadLocalRandom.current();
int insertionPosition = random.nextInt(count + 1);
```&lt;/p&gt;
&lt;p&gt;Because ThreadLocalRandom is a predictable LCG and the resolver operates within a single bucket, the sequence of IDs is predictable once the PRNG state is mathematically recovered.&lt;/p&gt;
&lt;p&gt;- Default Static Source Port: `DnsNameResolverBuilder` defaults to a `channelStrategy` of `ChannelPerResolver`. This binds the DatagramChannel once, resulting in a static source port for all subsequent queries.&lt;/p&gt;
&lt;p&gt;Combined, a static source port and predictable transaction IDs reduces the entropy required to secure DNS resolution against spoofing.&lt;/p&gt;
&lt;p&gt;### Impact
DNS Cache Poisoning. Downstream applications using the default Netty DNS resolver may connect to malicious IPs, leading to traffic interception or MitM attacks.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: io.netty:netty-resolver-dns&lt;/p&gt;
&lt;p&gt;### Summary
Netty&amp;#39;s DNS resolver uses a predictable PRNG for generating DNS transaction IDs and defaults to a static UDP source port. This combination reduces the entropy of DNS queries, enabling DNS Cache Poisoning (Kaminsky attack).&lt;/p&gt;
&lt;p&gt;### Details
Two factors contribute to this vulnerability in io.netty.resolver.dns:
- Predictable Query IDs: `DnsQueryIdSpace` manages 16-bit transaction IDs in buckets of 16,384 IDs. It initializes only the first bucket. When an ID is returned, it is pushed back into the bucket at a random index generated by java.util.concurrent.ThreadLocalRandom:&lt;/p&gt;
&lt;p&gt;```java
Random random = ThreadLocalRandom.current();
int insertionPosition = random.nextInt(count + 1);
```&lt;/p&gt;
&lt;p&gt;Because ThreadLocalRandom is a predictable LCG and the resolver operates within a single bucket, the sequence of IDs is predictable once the PRNG state is mathematically recovered.&lt;/p&gt;
&lt;p&gt;- Default Static Source Port: `DnsNameResolverBuilder` defaults to a `channelStrategy` of `ChannelPerResolver`. This binds the DatagramChannel once, resulting in a static source port for all subsequent queries.&lt;/p&gt;
&lt;p&gt;Combined, a static source port and predictable transaction IDs reduces the entropy required to secure DNS resolution against spoofing.&lt;/p&gt;
&lt;p&gt;### Impact
DNS Cache Poisoning. Downstream applications using the default Netty DNS resolver may connect to malicious IPs, leading to traffic interception or MitM attacks.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-xmv7-r254-6q78</guid>
    </item>
  </channel>
</rss>
