<?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 20:54:28 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-367782</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-367782</link>
      <description>EUVD-2026-367782</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-367782</guid>
    </item>
    <item>
      <title>fkie_cve-2026-87734</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-87734</link>
      <description>&lt;p&gt;An issue was discovered in the utcp package before 0.0.6 for OCaml. Out-of-order segment reassembly allows remote denial of service.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;An issue was discovered in the utcp package before 0.0.6 for OCaml. Out-of-order segment reassembly allows remote denial of service.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-87734</guid>
    </item>
    <item>
      <title>GHSA-798p-53r8-rvx4</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-798p-53r8-rvx4</link>
      <description>&lt;p&gt;An issue was discovered in the utcp package before 0.0.6 for OCaml. Out-of-order segment reassembly allows remote denial of service.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;An issue was discovered in the utcp package before 0.0.6 for OCaml. Out-of-order segment reassembly allows remote denial of service.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-798p-53r8-rvx4</guid>
    </item>
    <item>
      <title>OSEC-2026-11 — Out of order segment reassembly allows remote denial of service</title>
      <link>https://cve.radiocsirt.org/vuln/osec-2026-11</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; opam: utcp&lt;/p&gt;
&lt;p&gt;A remote peer that completes a normal TCP handshake can send a stream of small out-of-order segments that never fill the gap at rcv_nxt. utcp keeps one reassembly entry per segment (bounded per connection only by the receive window, about 65000 one-byte entries) and re-folds the whole queue on every segment, so per-packet cost is huge.&lt;/p&gt;
&lt;p&gt;This has SegmentSmack shape (CVE-2018-5390): a cheap packet stream imposes disproportionate CPU on the receiver, and there is no cap on the number of such connections.&lt;/p&gt;
&lt;p&gt;## Solution&lt;/p&gt;
&lt;p&gt;Instead of a flat list, a red-black binary tree is used for the reassembly queue.&lt;/p&gt;
&lt;p&gt;## Reproduction&lt;/p&gt;
&lt;p&gt;```OCaml
let () = Mirage_crypto_rng_unix.use_default ()&lt;/p&gt;
&lt;p&gt;let server_ip = Ipaddr.(V4 (V4.of_string_exn &amp;#34;10.0.0.1&amp;#34;))
let client_ip = Ipaddr.(V4 (V4.of_string_exn &amp;#34;10.0.0.2&amp;#34;))
let now = Mtime.of_uint64_ns 0L
let to_wire seg = Utcp.Segment.encode_and_checksum now ~src:client_ip ~dst:server_ip seg&lt;/p&gt;
&lt;p&gt;let seg ~seq ?ack ?flag ?(payload = []) ?(payload_len = 0) () =
  { Utcp.Segment.src_port = 12345; dst_port = 80; seq; ack; flag;
    push = false; window = 65535; options = []; payload; payload_len }&lt;/p&gt;
&lt;p&gt;let feed st s = Utcp.handle_buf st now ~src:client_ip ~dst:server_ip (to_wire s)&lt;/p&gt;
&lt;p&gt;(* establish a connection, then feed [n] out-of-order segments that never fill
   the gap at rcv_nxt; return the CPU time spent *)
let cost n =
  let st = Utcp.start_listen (Utcp.empty Fun.id &amp;#34;victim&amp;#34;) 80 in
  let iss = Utcp.Sequence.of_int32 1000l in
  let st, _, outs = feed st (seg ~seq:iss ~fla…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; opam: utcp&lt;/p&gt;
&lt;p&gt;A remote peer that completes a normal TCP handshake can send a stream of small out-of-order segments that never fill the gap at rcv_nxt. utcp keeps one reassembly entry per segment (bounded per connection only by the receive window, about 65000 one-byte entries) and re-folds the whole queue on every segment, so per-packet cost is huge.&lt;/p&gt;
&lt;p&gt;This has SegmentSmack shape (CVE-2018-5390): a cheap packet stream imposes disproportionate CPU on the receiver, and there is no cap on the number of such connections.&lt;/p&gt;
&lt;p&gt;## Solution&lt;/p&gt;
&lt;p&gt;Instead of a flat list, a red-black binary tree is used for the reassembly queue.&lt;/p&gt;
&lt;p&gt;## Reproduction&lt;/p&gt;
&lt;p&gt;```OCaml
let () = Mirage_crypto_rng_unix.use_default ()&lt;/p&gt;
&lt;p&gt;let server_ip = Ipaddr.(V4 (V4.of_string_exn &amp;#34;10.0.0.1&amp;#34;))
let client_ip = Ipaddr.(V4 (V4.of_string_exn &amp;#34;10.0.0.2&amp;#34;))
let now = Mtime.of_uint64_ns 0L
let to_wire seg = Utcp.Segment.encode_and_checksum now ~src:client_ip ~dst:server_ip seg&lt;/p&gt;
&lt;p&gt;let seg ~seq ?ack ?flag ?(payload = []) ?(payload_len = 0) () =
  { Utcp.Segment.src_port = 12345; dst_port = 80; seq; ack; flag;
    push = false; window = 65535; options = []; payload; payload_len }&lt;/p&gt;
&lt;p&gt;let feed st s = Utcp.handle_buf st now ~src:client_ip ~dst:server_ip (to_wire s)&lt;/p&gt;
&lt;p&gt;(* establish a connection, then feed [n] out-of-order segments that never fill
   the gap at rcv_nxt; return the CPU time spent *)
let cost n =
  let st = Utcp.start_listen (Utcp.empty Fun.id &amp;#34;victim&amp;#34;) 80 in
  let iss = Utcp.Sequence.of_int32 1000l in
  let st, _, outs = feed st (seg ~seq:iss ~fla…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/osec-2026-11</guid>
    </item>
  </channel>
</rss>
