<?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, 06 Oct 2026 01:05:11 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-40258 — mptcp: fix race condition in mptcp_schedule_work()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-40258</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Siemens RUGGEDCOM RST2428P&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;mptcp: fix race condition in mptcp_schedule_work()&lt;/p&gt;
&lt;p&gt;syzbot reported use-after-free in mptcp_schedule_work() [1]&lt;/p&gt;
&lt;p&gt;Issue here is that mptcp_schedule_work() schedules a work,
then gets a refcount on sk-&amp;gt;sk_refcnt if the work was scheduled.
This refcount will be released by mptcp_worker().&lt;/p&gt;
&lt;p&gt;[A] if (schedule_work(...)) {
[B]     sock_hold(sk);
        return true;
    }&lt;/p&gt;
&lt;p&gt;Problem is that mptcp_worker() can run immediately and complete before [B]&lt;/p&gt;
&lt;p&gt;We need instead :&lt;/p&gt;
&lt;p&gt;sock_hold(sk);
    if (schedule_work(...))
        return true;
    sock_put(sk);&lt;/p&gt;
&lt;p&gt;[1]
refcount_t: addition on 0; use-after-free.
 WARNING: CPU: 1 PID: 29 at lib/refcount.c:25 refcount_warn_saturate+0xfa/0x1d0 lib/refcount.c:25
Call Trace:
 &amp;lt;TASK&amp;gt;
 __refcount_add include/linux/refcount.h:-1 [inline]
  __refcount_inc include/linux/refcount.h:366 [inline]
  refcount_inc include/linux/refcount.h:383 [inline]
  sock_hold include/net/sock.h:816 [inline]
  mptcp_schedule_work+0x164/0x1a0 net/mptcp/protocol.c:943
  mptcp_tout_timer+0x21/0xa0 net/mptcp/protocol.c:2316
  call_timer_fn+0x17e/0x5f0 kernel/time/timer.c:1747
  expire_timers kernel/time/timer.c:1798 [inline]
  __run_timers kernel/time/timer.c:2372 [inline]
  __run_timer_base+0x648/0x970 kernel/time/timer.c:2384
  run_timer_base kernel/time/timer.c:2393 [inline]
  run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2403
  handle_softirqs+0x22f/0x710 kernel/softirq.c:622
  __do_softirq kernel/softirq…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Siemens RUGGEDCOM RST2428P&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;mptcp: fix race condition in mptcp_schedule_work()&lt;/p&gt;
&lt;p&gt;syzbot reported use-after-free in mptcp_schedule_work() [1]&lt;/p&gt;
&lt;p&gt;Issue here is that mptcp_schedule_work() schedules a work,
then gets a refcount on sk-&amp;gt;sk_refcnt if the work was scheduled.
This refcount will be released by mptcp_worker().&lt;/p&gt;
&lt;p&gt;[A] if (schedule_work(...)) {
[B]     sock_hold(sk);
        return true;
    }&lt;/p&gt;
&lt;p&gt;Problem is that mptcp_worker() can run immediately and complete before [B]&lt;/p&gt;
&lt;p&gt;We need instead :&lt;/p&gt;
&lt;p&gt;sock_hold(sk);
    if (schedule_work(...))
        return true;
    sock_put(sk);&lt;/p&gt;
&lt;p&gt;[1]
refcount_t: addition on 0; use-after-free.
 WARNING: CPU: 1 PID: 29 at lib/refcount.c:25 refcount_warn_saturate+0xfa/0x1d0 lib/refcount.c:25
Call Trace:
 &amp;lt;TASK&amp;gt;
 __refcount_add include/linux/refcount.h:-1 [inline]
  __refcount_inc include/linux/refcount.h:366 [inline]
  refcount_inc include/linux/refcount.h:383 [inline]
  sock_hold include/net/sock.h:816 [inline]
  mptcp_schedule_work+0x164/0x1a0 net/mptcp/protocol.c:943
  mptcp_tout_timer+0x21/0xa0 net/mptcp/protocol.c:2316
  call_timer_fn+0x17e/0x5f0 kernel/time/timer.c:1747
  expire_timers kernel/time/timer.c:1798 [inline]
  __run_timers kernel/time/timer.c:2372 [inline]
  __run_timer_base+0x648/0x970 kernel/time/timer.c:2384
  run_timer_base kernel/time/timer.c:2393 [inline]
  run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2403
  handle_softirqs+0x22f/0x710 kernel/softirq.c:622
  __do_softirq kernel/softirq…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-40258</guid>
    </item>
  </channel>
</rss>
