<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-29T19:39:34.597673+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-pwqr-wmgm-9rr8</id>
    <title>GHSA-pwqr-wmgm-9rr8 — Netty: HTTP Request Smuggling via Chunked Extension Quoted-String Parsing</title>
    <updated>2026-09-29T19:39:34.599749+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Maven: io.netty:netty-codec-http</p>
<p>## Summary</p>
<p>Netty incorrectly parses quoted strings in HTTP/1.1 chunked transfer encoding extension values, enabling request smuggling attacks.</p>
<p>## Background</p>
<p>This vulnerability is a new variant discovered during research into the "Funky Chunks" HTTP request smuggling techniques:</p>
<p>- &lt;https://w4ke.info/2025/06/18/funky-chunks.html&gt;
- &lt;https://w4ke.info/2025/10/29/funky-chunks-2.html&gt;</p>
<p>The original research tested various chunk extension parsing differentials but did not cover quoted-string handling within extension values.</p>
<p>## Technical Details</p>
<p>**RFC 9110 Section 7.1.1** defines chunked transfer encoding:</p>
<p>```
chunk = chunk-size [ chunk-ext ] CRLF chunk-data CRLF
chunk-ext = *( BWS ";" BWS chunk-ext-name [ BWS "=" BWS chunk-ext-val ] )
chunk-ext-val = token / quoted-string
```</p>
<p>**RFC 9110 Section 5.6.4** defines quoted-string:</p>
<p>```
quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE
```</p>
<p>Critically, the allowed character ranges within a quoted-string are:</p>
<p>```
qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text
quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text )
```</p>
<p>CR (`%x0D`) and LF (`%x0A`) bytes fall outside all of these ranges and are therefore **not permitted** inside chunk extensions—whether quoted or unquoted. A strictly compliant parser should reject any request containing CR or LF bytes before the actual line terminator within a chunk extension with a `400 Bad Request` response (as Squid does, for example).</p>
<p>## Vulnerability</p>
<p>Netty terminates chunk header…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-pwqr-wmgm-9rr8"/>
  </entry>
</feed>
