CVE-2026-31504 in Linux
要約
〜によって VulDB • 2026年05月24日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
net: packet_release()におけるNETDEV_UP競合によるfanout UAFの修正
`packet_release()`には、`NETDEV_UP`がソケットをfanoutグループの`arr[]`配列に再登録できる競合ウィンドウが存在します。この再登録は`fanout_release()`によってクリーンアップされないため、fanout配列内にダングリングポインタが残ります。
`packet_release()`は、`bind_lock`セクション内で`po->num`をゼロに設定していません。`bind_lock`を解放した後、`po->num`はゼロ以外であり、`po->ifindex`は依然としてバインドされたデバイスと一致しています。`sklist`内でソケットを既に発見した同時実行の`packet_notifier(NETDEV_UP)`がフックを再登録する可能性があります。fanoutソケットの場合、この再登録は`__fanout_link(sk, po)`を呼び出し、ソケットを`f->arr[]`に再度追加して`f->num_members`を増加させますが、`f->sk_ref`は増加させません。
修正では、NETDEV_UPによるリンクを防止し、競合ウィンドウを回避するため、`bind_lock`が保持されている間に`packet_release`内で`po->num`をゼロに設定します。
このバグは、CVE-2025-38617に基づき、Claude Codeを用いた追加監査の結果として発見されました。
If you want to get best quality of vulnerability data, you may have to visit VulDB.