Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-40258— mptcp: fix race condition in mptcp_schedule_work()

EPSS 0.04% · P13
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-40258

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
mptcp: fix race condition in mptcp_schedule_work()
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: mptcp: fix race condition in mptcp_schedule_work() syzbot reported use-after-free in mptcp_schedule_work() [1] Issue here is that mptcp_schedule_work() schedules a work, then gets a refcount on sk->sk_refcnt if the work was scheduled. This refcount will be released by mptcp_worker(). [A] if (schedule_work(...)) { [B] sock_hold(sk); return true; } Problem is that mptcp_worker() can run immediately and complete before [B] We need instead : sock_hold(sk); if (schedule_work(...)) return true; sock_put(sk); [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: <TASK> __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.c:656 [inline] run_ktimerd+0xcf/0x190 kernel/softirq.c:1138 smpboot_thread_fn+0x542/0xa60 kernel/smpboot.c:160 kthread+0x711/0x8a0 kernel/kthread.c:463 ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于工作调度竞争条件,可能导致引用计数错误。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 3b1d6210a9577369103330b0d802b0bf74b65e7f ~ f865e6595acf33083168db76921e66ace8bf0e5b -
LinuxLinux 5.7 -

II. Public POCs for CVE-2025-40258

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-40258

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-12-04 · 53 CVEs total

CVE-2025-40229mm/damon/core: fix potential memory leak by cleaning ops_filter in damon_destroy_scheme
CVE-2025-40214af_unix: Initialise scc_index in unix_add_edge().
CVE-2025-40215xfrm: delete x->tunnel as we delete x
CVE-2025-40220fuse: fix livelock in synchronous file put from fuseblk workers
CVE-2025-40217pidfs: validate extensible ioctls
CVE-2025-40218mm/damon/vaddr: do not repeat pte_offset_map_lock() until success
CVE-2025-40219PCI/IOV: Fix race between SR-IOV enable/disable and hotplug
CVE-2025-40216io_uring/rsrc: don't rely on user vaddr alignment
CVE-2025-40227mm/damon/sysfs: dealloc commit test ctx always
CVE-2025-40228mm/damon/sysfs: catch commit test ctx alloc failure
CVE-2025-40226firmware: arm_scmi: Account for failed debug initialization
CVE-2025-40230mm: prevent poison consumption when splitting THP
CVE-2025-40231vsock: fix lock inversion in vsock_assign_transport()
CVE-2025-40232rv: Fully convert enabled_monitors to use list_head as iterator
CVE-2025-40233ocfs2: clear extent cache after moving/defragmenting extents
CVE-2025-40234platform/x86: alienware-wmi-wmax: Fix NULL pointer dereference in sleep handlers
CVE-2025-40236virtio-net: zero unused hash fields
CVE-2025-40235btrfs: directly free partially initialized fs_info in btrfs_check_leaked_roots()
CVE-2025-40237fs/notify: call exportfs_encode_fid with s_umount
CVE-2025-40238net/mlx5: Fix IPsec cleanup over MPV device

Showing top 20 of 53 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-40258

No comments yet


Leave a comment