CVE-2025-40258 in Linux情報

要約

〜によって VulDB • 2026年09月29日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

mptcp: mptcp_schedule_work()におけるrace conditionの修正

syzbotにより、mptcp_schedule_work()でのuse-after-freeが報告されました[1]。

問題は、mptcp_schedule_work()がワークをスケジューリングした後、そのワークがスケジュールされた場合にsk->sk_refcntのリファレンスカウントを取得することにあります。このリファレンスカウントはmptcp_worker()によって解放されます。

[A] if (schedule_work(...)) {
[B] sock_hold(sk);
return true; }

問題は、mptcp_worker()が直ちに実行され、[B]の前に完了する可能性があることです。

代わりに以下が必要です:

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

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2025年04月16日

モデレーション

承諾済み

エントリ

VDB-334324

EPSS

0.00464

アクティビティ

非常低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!