<?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://vulnerability.circl.lu</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, 29 Sep 2026 19:47:05 +0000</lastBuildDate>
    <item>
      <title>CVE-2024-37356 — tcp: Fix shift-out-of-bounds in dctcp_update_alpha().</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2024-37356</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Siemens RUGGEDCOM RST2428P, Siemens SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family, Siemens SCALANCE XCM-/XRM-/XCH-/XRH-300 family, Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystem, Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP, Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP, Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;tcp: Fix shift-out-of-bounds in dctcp_update_alpha().&lt;/p&gt;
&lt;p&gt;In dctcp_update_alpha(), we use a module parameter dctcp_shift_g
as follows:&lt;/p&gt;
&lt;p&gt;alpha -= min_not_zero(alpha, alpha &amp;gt;&amp;gt; dctcp_shift_g);
  ...
  delivered_ce &amp;lt;&amp;lt;= (10 - dctcp_shift_g);&lt;/p&gt;
&lt;p&gt;It seems syzkaller started fuzzing module parameters and triggered
shift-out-of-bounds [0] by setting 100 to dctcp_shift_g:&lt;/p&gt;
&lt;p&gt;memcpy((void*)0x20000080,
         &amp;#34;/sys/module/tcp_dctcp/parameters/dctcp_shift_g\000&amp;#34;, 47);
  res = syscall(__NR_openat, /*fd=*/0xffffffffffffff9cul, /*file=*/0x20000080ul,
                /*flags=*/2ul, /*mode=*/0ul);
  memcpy((void*)0x20000000, &amp;#34;100\000&amp;#34;, 4);
  syscall(__NR_write, /*fd=*/r[0], /*val=*/0x20000000ul, /*len=*/4ul);&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s limit the max value of dctcp_shift_g by param_set_uint_minmax().&lt;/p&gt;
&lt;p&gt;With this patch:&lt;/p&gt;
&lt;p&gt;# echo 10 &amp;gt; /sys/module/tcp_dctcp/parameters/dctcp_shift_g
  # cat /sys/module/tcp_dctcp/parameters/dctcp_shift_g
  10
  # echo 11 &amp;gt; /sys/module/tcp_dctcp/parameters/dctcp_shift_g
  -bash: echo: write error: Invalid argument&lt;/p&gt;
&lt;p&gt;[0]:
UBSAN: shift-out-of-bounds in net/ipv4/tcp_dctcp.c:143:12
shift exponent 100 is too large for 32-bit type &amp;#39;u32&amp;#39; (aka &amp;#39;unsigned int&amp;#39;)
CPU: 0 PID: 8083 Comm: syz-executor345 Not tainted 6.9.0-05151-g1b294a1f3561 #2
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.13.0-1ubuntu1.1 04/01/2014
Call Trace:
 &amp;lt;TASK&amp;gt;
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x201/0x300 lib/dump_stack…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Siemens RUGGEDCOM RST2428P, Siemens SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family, Siemens SCALANCE XCM-/XRM-/XCH-/XRH-300 family, Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystem, Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP, Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP, Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;tcp: Fix shift-out-of-bounds in dctcp_update_alpha().&lt;/p&gt;
&lt;p&gt;In dctcp_update_alpha(), we use a module parameter dctcp_shift_g
as follows:&lt;/p&gt;
&lt;p&gt;alpha -= min_not_zero(alpha, alpha &amp;gt;&amp;gt; dctcp_shift_g);
  ...
  delivered_ce &amp;lt;&amp;lt;= (10 - dctcp_shift_g);&lt;/p&gt;
&lt;p&gt;It seems syzkaller started fuzzing module parameters and triggered
shift-out-of-bounds [0] by setting 100 to dctcp_shift_g:&lt;/p&gt;
&lt;p&gt;memcpy((void*)0x20000080,
         &amp;#34;/sys/module/tcp_dctcp/parameters/dctcp_shift_g\000&amp;#34;, 47);
  res = syscall(__NR_openat, /*fd=*/0xffffffffffffff9cul, /*file=*/0x20000080ul,
                /*flags=*/2ul, /*mode=*/0ul);
  memcpy((void*)0x20000000, &amp;#34;100\000&amp;#34;, 4);
  syscall(__NR_write, /*fd=*/r[0], /*val=*/0x20000000ul, /*len=*/4ul);&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s limit the max value of dctcp_shift_g by param_set_uint_minmax().&lt;/p&gt;
&lt;p&gt;With this patch:&lt;/p&gt;
&lt;p&gt;# echo 10 &amp;gt; /sys/module/tcp_dctcp/parameters/dctcp_shift_g
  # cat /sys/module/tcp_dctcp/parameters/dctcp_shift_g
  10
  # echo 11 &amp;gt; /sys/module/tcp_dctcp/parameters/dctcp_shift_g
  -bash: echo: write error: Invalid argument&lt;/p&gt;
&lt;p&gt;[0]:
UBSAN: shift-out-of-bounds in net/ipv4/tcp_dctcp.c:143:12
shift exponent 100 is too large for 32-bit type &amp;#39;u32&amp;#39; (aka &amp;#39;unsigned int&amp;#39;)
CPU: 0 PID: 8083 Comm: syz-executor345 Not tainted 6.9.0-05151-g1b294a1f3561 #2
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.13.0-1ubuntu1.1 04/01/2014
Call Trace:
 &amp;lt;TASK&amp;gt;
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x201/0x300 lib/dump_stack…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2024-37356</guid>
    </item>
  </channel>
</rss>
