<?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://db.gcve.eu</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>Fri, 02 Oct 2026 01:09:42 +0000</lastBuildDate>
    <item>
      <title>GHSA-6ghj-frrj-jjj3 — Netty has Unbounded Direct Memory Consumption in its RedisDecoder</title>
      <link>https://db.gcve.eu/vuln/ghsa-6ghj-frrj-jjj3</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: io.netty:netty-codec-redis&lt;/p&gt;
&lt;p&gt;### Summary
An attacker can cause DoS by sending crafted Redis payloads across multiple connections without `\r\n`. This exhausts the server&amp;#39;s direct memory pool (OutOfDirectMemoryError), preventing legitimate connections from being processed.&lt;/p&gt;
&lt;p&gt;### Details
io.netty.handler.codec.redis.RedisDecoder decodes the length of bulk strings and array headers using the `decodeLength` method. This method reads bytes from the network until it encounters a `\n` character. However, it does not enforce any maximum length check while buffering the bytes if the `\n` character is not found. An attacker can exploit this by sending a continuous stream of digits (e.g., `$1111...`) without ever sending a `\n`.&lt;/p&gt;
&lt;p&gt;To cause a true Denial of Service, an attacker must open multiple concurrent connections and distribute the unbounded payloads among them.&lt;/p&gt;
&lt;p&gt;According to the RESP specification (https://redis.io/docs/latest/develop/reference/protocol-spec/), all parts of the protocol are strictly terminated with `\r\n`. Furthermore, the length prefix itself is an integer representation that must fit within standard numeric limits (e.g., a 64-bit signed integer). Therefore, a stream of digits exceeding these bounds without `\r\n` is a protocol violation and should be rejected immediately rather than buffered indefinitely.&lt;/p&gt;
&lt;p&gt;### Impact
Denial of Service due to memory exhaustion. Any application using Netty&amp;#39;s RedisDecoder to handle untrusted Redis traffic is vulnerable.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: io.netty:netty-codec-redis&lt;/p&gt;
&lt;p&gt;### Summary
An attacker can cause DoS by sending crafted Redis payloads across multiple connections without `\r\n`. This exhausts the server&amp;#39;s direct memory pool (OutOfDirectMemoryError), preventing legitimate connections from being processed.&lt;/p&gt;
&lt;p&gt;### Details
io.netty.handler.codec.redis.RedisDecoder decodes the length of bulk strings and array headers using the `decodeLength` method. This method reads bytes from the network until it encounters a `\n` character. However, it does not enforce any maximum length check while buffering the bytes if the `\n` character is not found. An attacker can exploit this by sending a continuous stream of digits (e.g., `$1111...`) without ever sending a `\n`.&lt;/p&gt;
&lt;p&gt;To cause a true Denial of Service, an attacker must open multiple concurrent connections and distribute the unbounded payloads among them.&lt;/p&gt;
&lt;p&gt;According to the RESP specification (https://redis.io/docs/latest/develop/reference/protocol-spec/), all parts of the protocol are strictly terminated with `\r\n`. Furthermore, the length prefix itself is an integer representation that must fit within standard numeric limits (e.g., a 64-bit signed integer). Therefore, a stream of digits exceeding these bounds without `\r\n` is a protocol violation and should be rejected immediately rather than buffered indefinitely.&lt;/p&gt;
&lt;p&gt;### Impact
Denial of Service due to memory exhaustion. Any application using Netty&amp;#39;s RedisDecoder to handle untrusted Redis traffic is vulnerable.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-6ghj-frrj-jjj3</guid>
    </item>
  </channel>
</rss>
