<?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://cve.radiocsirt.org</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>Wed, 07 Oct 2026 14:28:47 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-33870 — Netty: HTTP Request Smuggling via Chunked Extension Quoted-String Parsing</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-33870</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; netty, Red Hat Cryostat 4 on RHEL 9, Red Hat AMQ Broker 7.12.7, Red Hat AMQ Broker 7.13.5, Red Hat AMQ Broker 7.14.0, Red Hat Build of Apache Camel 4.14 for Quarkus 3.27, Red Hat build of Apache Camel 4.18.1 for Spring Boot 3.5.14, Red Hat build of Quarkus 3.20.6, Red Hat build of Quarkus 3.27.3, Red Hat Data Grid 8.6.1 and 26 more&lt;/p&gt;
&lt;p&gt;Netty is an asynchronous, event-driven network application framework. In versions prior to 4.1.132.Final and 4.2.10.Final, Netty incorrectly parses quoted strings in HTTP/1.1 chunked transfer encoding extension values, enabling request smuggling attacks. Versions 4.1.132.Final and 4.2.10.Final fix the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; netty, Red Hat Cryostat 4 on RHEL 9, Red Hat AMQ Broker 7.12.7, Red Hat AMQ Broker 7.13.5, Red Hat AMQ Broker 7.14.0, Red Hat Build of Apache Camel 4.14 for Quarkus 3.27, Red Hat build of Apache Camel 4.18.1 for Spring Boot 3.5.14, Red Hat build of Quarkus 3.20.6, Red Hat build of Quarkus 3.27.3, Red Hat Data Grid 8.6.1 and 26 more&lt;/p&gt;
&lt;p&gt;Netty is an asynchronous, event-driven network application framework. In versions prior to 4.1.132.Final and 4.2.10.Final, Netty incorrectly parses quoted strings in HTTP/1.1 chunked transfer encoding extension values, enabling request smuggling attacks. Versions 4.1.132.Final and 4.2.10.Final fix the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-33870</guid>
    </item>
    <item>
      <title>GHSA-38f8-5428-x5cv — Netty vulnerable to HTTP Request Smuggling due to malformed Transfer-Encoding</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-38f8-5428-x5cv</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: io.netty:netty-codec-http&lt;/p&gt;
&lt;p&gt;### Summary
Netty incorrectly parses malformed Transfer-Encoding, enabling request smuggling attacks.&lt;/p&gt;
&lt;p&gt;### Details
Netty incorrectly marks a request as chunked when malformed &amp;#34;Transfer-Encoding: chunked, identity&amp;#34; is present.
According to RFC https://datatracker.ietf.org/doc/html/rfc9112#name-message-body-length&lt;/p&gt;
&lt;p&gt;&amp;#34;
If a Transfer-Encoding header field is present in a request and the chunked transfer coding is not the final encoding,
 the message body length cannot be determined reliably; the server MUST respond with the 400 (Bad Request)
 status code and then close the connection.
&amp;#34;&lt;/p&gt;
&lt;p&gt;A possible scenario is when Netty is behind a proxy that doesn&amp;#39;t reject requests with &amp;#34;Transfer-Encoding: chunked, identity&amp;#34;, but prefers &amp;#34;Content-Length&amp;#34; and forwards the content to Netty.&lt;/p&gt;
&lt;p&gt;### PoC
The test below shows Netty successfully parsing the second request, demonstrating how an attacker can smuggle a second request inside a request body.&lt;/p&gt;
&lt;p&gt;```java
@Test
    public void test() {
        String requestStr = &amp;#34;POST / HTTP/1.1\r\n&amp;#34; +
                &amp;#34;Host: localhost\r\n&amp;#34; +
                &amp;#34;Transfer-Encoding: chunked, identity\r\n&amp;#34; +
                &amp;#34;Content-Length: 48\r\n&amp;#34; +
                &amp;#34;\r\n&amp;#34; +
                &amp;#34;0\r\n&amp;#34; +
                &amp;#34;\r\n&amp;#34; +
                &amp;#34;GET /smuggled HTTP/1.1\r\n&amp;#34; +
                &amp;#34;Host: localhost\r\n&amp;#34; +
                &amp;#34;\r\n&amp;#34;;&lt;/p&gt;
&lt;p&gt;EmbeddedChannel channel = new EmbeddedChannel(new HttpRequestDecoder());
        assertTrue(channel.writeInbound(Unpooled.copied…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: io.netty:netty-codec-http&lt;/p&gt;
&lt;p&gt;### Summary
Netty incorrectly parses malformed Transfer-Encoding, enabling request smuggling attacks.&lt;/p&gt;
&lt;p&gt;### Details
Netty incorrectly marks a request as chunked when malformed &amp;#34;Transfer-Encoding: chunked, identity&amp;#34; is present.
According to RFC https://datatracker.ietf.org/doc/html/rfc9112#name-message-body-length&lt;/p&gt;
&lt;p&gt;&amp;#34;
If a Transfer-Encoding header field is present in a request and the chunked transfer coding is not the final encoding,
 the message body length cannot be determined reliably; the server MUST respond with the 400 (Bad Request)
 status code and then close the connection.
&amp;#34;&lt;/p&gt;
&lt;p&gt;A possible scenario is when Netty is behind a proxy that doesn&amp;#39;t reject requests with &amp;#34;Transfer-Encoding: chunked, identity&amp;#34;, but prefers &amp;#34;Content-Length&amp;#34; and forwards the content to Netty.&lt;/p&gt;
&lt;p&gt;### PoC
The test below shows Netty successfully parsing the second request, demonstrating how an attacker can smuggle a second request inside a request body.&lt;/p&gt;
&lt;p&gt;```java
@Test
    public void test() {
        String requestStr = &amp;#34;POST / HTTP/1.1\r\n&amp;#34; +
                &amp;#34;Host: localhost\r\n&amp;#34; +
                &amp;#34;Transfer-Encoding: chunked, identity\r\n&amp;#34; +
                &amp;#34;Content-Length: 48\r\n&amp;#34; +
                &amp;#34;\r\n&amp;#34; +
                &amp;#34;0\r\n&amp;#34; +
                &amp;#34;\r\n&amp;#34; +
                &amp;#34;GET /smuggled HTTP/1.1\r\n&amp;#34; +
                &amp;#34;Host: localhost\r\n&amp;#34; +
                &amp;#34;\r\n&amp;#34;;&lt;/p&gt;
&lt;p&gt;EmbeddedChannel channel = new EmbeddedChannel(new HttpRequestDecoder());
        assertTrue(channel.writeInbound(Unpooled.copied…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-38f8-5428-x5cv</guid>
    </item>
  </channel>
</rss>
