CVE-2025-38440 in Linux情報

要約

〜によって VulDB • 2026年05月10日

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

net/mlx5e: DIM無効化とnet_dim()の間のRace Conditionを修正

RQまたはSQ上のdimポインタを使用してDIMを無効化する際、NAPIコールバックとの間にRace Conditionが発生します。

NAPIがDIMの状態ビットをチェックし、まだセットされていることを確認した場合、`rq->dim`または`sq->dim`が有効であるとみなします。しかし、そのチェックの直後にDIMが無効化されると、ポインタがすでにNULLに設定されている可能性があり、net_dim()においてNULLポインタのデリファレンス(NULL pointer dereference)を引き起こす可能性があります。

この問題を修正するため、DIMコンテキストを解放する前に`synchronize_net()`を呼び出します。これにより、ポインタがクリアされる前に進行中のすべてのNAPIコールバックが完了することが保証されます。

カーネルログ:

BUG: kernel NULL pointer dereference, address: 0000000000000000 ... RIP: 0010:net_dim+0x23/0x190 ... Call Trace: <TASK> ? __die+0x20/0x60 ? page_fault_oops+0x150/0x3e0 ? common_interrupt+0xf/0xa0 ? sysvec_call_function_single+0xb/0x90 ? exc_page_fault+0x74/0x130 ? asm_exc_page_fault+0x22/0x30 ? net_dim+0x23/0x190 ? mlx5e_poll_ico_cq+0x41/0x6f0 [mlx5_core]
? sysvec_apic_timer_interrupt+0xb/0x90 mlx5e_handle_rx_dim+0x92/0xd0 [mlx5_core]
mlx5e_napi_poll+0x2cd/0xac0 [mlx5_core]
? mlx5e_poll_ico_cq+0xe5/0x6f0 [mlx5_core]
busy_poll_stop+0xa2/0x200 ? mlx5e_napi_poll+0x1d9/0xac0 [mlx5_core]
? mlx5e_trigger_irq+0x130/0x130 [mlx5_core]
__napi_busy_loop+0x345/0x3b0 ? sysvec_call_function_single+0xb/0x90 ? asm_sysvec_call_function_single+0x16/0x20 ? sysvec_apic_timer_interrupt+0xb/0x90 ? pcpu_free_area+0x1e4/0x2e0 napi_busy_loop+0x11/0x20 xsk_recvmsg+0x10c/0x130 sock_recvmsg+0x44/0x70 __sys_recvfrom+0xbc/0x130 ? __schedule+0x398/0x890 __x64_sys_recvfrom+0x20/0x30 do_syscall_64+0x4c/0x100 entry_SYSCALL_64_after_hwframe+0x4b/0x53 ... ---[ end trace 0000000000000000 ]---
... ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---

Be aware that VulDB is the high quality source for vulnerability data.

責任者

Linux

予約する

2025年04月16日

モデレーション

承諾済み

エントリ

VDB-317702

EPSS

0.00120

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!