<?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>Tue, 06 Oct 2026 19:55:27 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-322098</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-322098</link>
      <description>EUVD-2026-322098</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-322098</guid>
    </item>
    <item>
      <title>fkie_cve-2026-42786</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-42786</link>
      <description>&lt;p&gt;Allocation of Resources Without Limits or Throttling vulnerability in mtrudel bandit allows unauthenticated remote denial of service via memory exhaustion.&lt;/p&gt;
&lt;p&gt;The fragment reassembly path in &amp;#39;Elixir.Bandit.WebSocket.Connection&amp;#39;:handle_frame/3 in lib/bandit/websocket/connection.ex appends every incoming Continuation{fin: false} frame&amp;#39;s payload to a per-connection iolist with no cumulative size cap. The existing max_frame_size option only bounds individual frames; a peer that streams an unbounded number of continuation frames without ever setting fin=1 grows BEAM heap linearly until the OS or a supervisor kills the process.&lt;/p&gt;
&lt;p&gt;Because the accumulation happens before WebSock.handle_in/2 is called, the application has no opportunity to interpose a size check. Phoenix Channels and LiveView both run over WebSock on Bandit, so a stock Phoenix application exposes this surface as soon as it accepts socket connections.&lt;/p&gt;
&lt;p&gt;This issue affects bandit: from 0.5.0 before 1.11.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Allocation of Resources Without Limits or Throttling vulnerability in mtrudel bandit allows unauthenticated remote denial of service via memory exhaustion.&lt;/p&gt;
&lt;p&gt;The fragment reassembly path in &amp;#39;Elixir.Bandit.WebSocket.Connection&amp;#39;:handle_frame/3 in lib/bandit/websocket/connection.ex appends every incoming Continuation{fin: false} frame&amp;#39;s payload to a per-connection iolist with no cumulative size cap. The existing max_frame_size option only bounds individual frames; a peer that streams an unbounded number of continuation frames without ever setting fin=1 grows BEAM heap linearly until the OS or a supervisor kills the process.&lt;/p&gt;
&lt;p&gt;Because the accumulation happens before WebSock.handle_in/2 is called, the application has no opportunity to interpose a size check. Phoenix Channels and LiveView both run over WebSock on Bandit, so a stock Phoenix application exposes this surface as soon as it accepts socket connections.&lt;/p&gt;
&lt;p&gt;This issue affects bandit: from 0.5.0 before 1.11.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-42786</guid>
    </item>
    <item>
      <title>GHSA-pf94-94m9-536p — Bandit Buffers Unbounded WebSocket Continuation Frames, Allowing Unauthenticated Memory Exhaustion</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-pf94-94m9-536p</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Hex: bandit&lt;/p&gt;
&lt;p&gt;### Summary
A single unauthenticated WebSocket client can exhaust server memory in any Bandit-fronted application that accepts WebSocket connections. The fragmented-message reassembly path appends every `Continuation{fin: false}` frame&amp;#39;s payload to a per-connection iolist with no cumulative size cap, so a peer that streams continuation frames indefinitely (never setting `fin=1`) grows BEAM heap linearly until the OS or a supervisor kills the process. `max_frame_size` only bounds individual frames; there is no `max_message_size` option available today.&lt;/p&gt;
&lt;p&gt;### Details
The bug is in `lib/bandit/websocket/connection.ex`, in the fragment branch of `handle_frame/3` (around lines 80–95). When a non-final continuation arrives, Bandit builds the next accumulator as `[connection.fragment_frame.data | frame.data]` with no running byte-count check. A peer can therefore stream max-sized continuations forever and grow BEAM resident memory without bound. When `fin=1` finally arrives (if ever), `IO.iodata_to_binary/1` flattens the whole iolist, briefly doubling peak memory. The attacker does not need to send `fin=1` — simply holding the connection open is enough to pin the bytes.&lt;/p&gt;
&lt;p&gt;**Suggested fix:** track a running cumulative byte count on the connection state and add a configurable `max_message_size`. When exceeded, terminate the connection with RFC 6455 close code 1009 (`:max_message_size_exceeded`) instead of continuing to append.&lt;/p&gt;
&lt;p&gt;### PoC
A self-contained reproduction script is below. It…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Hex: bandit&lt;/p&gt;
&lt;p&gt;### Summary
A single unauthenticated WebSocket client can exhaust server memory in any Bandit-fronted application that accepts WebSocket connections. The fragmented-message reassembly path appends every `Continuation{fin: false}` frame&amp;#39;s payload to a per-connection iolist with no cumulative size cap, so a peer that streams continuation frames indefinitely (never setting `fin=1`) grows BEAM heap linearly until the OS or a supervisor kills the process. `max_frame_size` only bounds individual frames; there is no `max_message_size` option available today.&lt;/p&gt;
&lt;p&gt;### Details
The bug is in `lib/bandit/websocket/connection.ex`, in the fragment branch of `handle_frame/3` (around lines 80–95). When a non-final continuation arrives, Bandit builds the next accumulator as `[connection.fragment_frame.data | frame.data]` with no running byte-count check. A peer can therefore stream max-sized continuations forever and grow BEAM resident memory without bound. When `fin=1` finally arrives (if ever), `IO.iodata_to_binary/1` flattens the whole iolist, briefly doubling peak memory. The attacker does not need to send `fin=1` — simply holding the connection open is enough to pin the bytes.&lt;/p&gt;
&lt;p&gt;**Suggested fix:** track a running cumulative byte count on the connection state and add a configurable `max_message_size`. When exceeded, terminate the connection with RFC 6455 close code 1009 (`:max_message_size_exceeded`) instead of continuing to append.&lt;/p&gt;
&lt;p&gt;### PoC
A self-contained reproduction script is below. It…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-pf94-94m9-536p</guid>
    </item>
  </channel>
</rss>
