<?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>Fri, 02 Oct 2026 08:55:31 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-85078 — sanic chunked trailer request smuggling allows hidden second request execution</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-85078</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; sanic-org sanic&lt;/p&gt;
&lt;p&gt;Sanic is an opensource python web server/framework. In version 25.12.0, Sanic&amp;#39;s core HTTP/1.1 chunked-body handling does not fully consume the trailer-part after the terminating zero chunk before reusing the keep-alive connection buffer. A remote unauthenticated client can place attacker-controlled bytes in that trailer region, causing Sanic to parse and route them as a hidden second request after the outer request. This breaks HTTP request-boundary integrity and can provide a request-smuggling primitive when Sanic is deployed behind intermediaries. This issue is fixed in version 25.12.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; sanic-org sanic&lt;/p&gt;
&lt;p&gt;Sanic is an opensource python web server/framework. In version 25.12.0, Sanic&amp;#39;s core HTTP/1.1 chunked-body handling does not fully consume the trailer-part after the terminating zero chunk before reusing the keep-alive connection buffer. A remote unauthenticated client can place attacker-controlled bytes in that trailer region, causing Sanic to parse and route them as a hidden second request after the outer request. This breaks HTTP request-boundary integrity and can provide a request-smuggling primitive when Sanic is deployed behind intermediaries. This issue is fixed in version 25.12.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-85078</guid>
    </item>
    <item>
      <title>GHSA-wmj6-g64g-j7q5 — sanic chunked trailer request smuggling allows hidden second request execution</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-wmj6-g64g-j7q5</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: sanic&lt;/p&gt;
&lt;p&gt;## Description&lt;/p&gt;
&lt;p&gt;Sanic&amp;#39;s HTTP/1.1 chunked-body handling does not fully consume the `trailer-part` after the terminating `0\r\n` chunk. Because of that, attacker-controlled bytes left in the connection buffer after the first chunked request can be interpreted as the start of a new HTTP request on the same keep-alive connection. In the attached verified proof, a single outer `POST /` request that correctly returns `405 Method Not Allowed` is followed, within the same TCP send, by a hidden second request smuggled through the chunked trailer area. Sanic parses and executes that second request as a real independent request.&lt;/p&gt;
&lt;p&gt;The issue is a request-boundary integrity failure in Sanic&amp;#39;s core HTTP/1.1 parser. The verified impact is not speculative. The attached proof shows that one TCP payload produces two server responses: first the expected `405` for the outer `POST /`, then a separate `200 OK` for a hidden `GET /`. A second exploit variant changes the hidden request path and receives a real `404 Not Found`, proving that the hidden second request is not a hard-coded artifact but an actually routed backend request. A control case with a two-character trailer field name shifts the leftover bytes from `GET` to `:GET`, which changes the second response accordingly and confirms that the root cause is incorrect trailer consumption rather than legitimate pipelining.&lt;/p&gt;
&lt;p&gt;## Steps To Reproduce&lt;/p&gt;
&lt;p&gt;1. Start a Sanic HTTP/1.1 service on a keep-alive connection path. In the verified run, the local ta…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: sanic&lt;/p&gt;
&lt;p&gt;## Description&lt;/p&gt;
&lt;p&gt;Sanic&amp;#39;s HTTP/1.1 chunked-body handling does not fully consume the `trailer-part` after the terminating `0\r\n` chunk. Because of that, attacker-controlled bytes left in the connection buffer after the first chunked request can be interpreted as the start of a new HTTP request on the same keep-alive connection. In the attached verified proof, a single outer `POST /` request that correctly returns `405 Method Not Allowed` is followed, within the same TCP send, by a hidden second request smuggled through the chunked trailer area. Sanic parses and executes that second request as a real independent request.&lt;/p&gt;
&lt;p&gt;The issue is a request-boundary integrity failure in Sanic&amp;#39;s core HTTP/1.1 parser. The verified impact is not speculative. The attached proof shows that one TCP payload produces two server responses: first the expected `405` for the outer `POST /`, then a separate `200 OK` for a hidden `GET /`. A second exploit variant changes the hidden request path and receives a real `404 Not Found`, proving that the hidden second request is not a hard-coded artifact but an actually routed backend request. A control case with a two-character trailer field name shifts the leftover bytes from `GET` to `:GET`, which changes the second response accordingly and confirms that the root cause is incorrect trailer consumption rather than legitimate pipelining.&lt;/p&gt;
&lt;p&gt;## Steps To Reproduce&lt;/p&gt;
&lt;p&gt;1. Start a Sanic HTTP/1.1 service on a keep-alive connection path. In the verified run, the local ta…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-wmj6-g64g-j7q5</guid>
    </item>
  </channel>
</rss>
