CVE-2026-43059 in Linux
要約
〜によって VulDB • 2026年05月21日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
Bluetooth: MGMT: コマンド完了ハンドラにおけるリストの破損とUse-After-Free (UAF) の修正
コミット 302a1f674c00 ("Bluetooth: MGMT: Fix possible UAFs") は、保留中のコマンドを検証し、有効な場合に保留リストからそれをアンリンクする `mgmt_pending_valid()` を導入しました。このセマンティクスの変更により、リストの破損やメモリの安全性に関する問題を回避するため、複数の完了ハンドラを更新する必要があります。
このパッチは、上記のリワークから残っていた2つの問題を解決します。
1. `mgmt_add_adv_patterns_monitor_complete()` において、成功時のパスで `mgmt_pending_remove()` が `mgmt_pending_free()` に置き換えられました。`mgmt_pending_valid()` は関数の冒頭で既にコマンドをアンリンクしているため、`mgmt_pending_remove()` を呼び出すと `double list_del()` が発生し、その結果リストの破損やカーネルパニックを引き起こします。
2. `set_mesh_complete()` において、エラー時のパスでの `mgmt_pending_foreach()` の使用が削除されました。現在のコマンドは既に `mgmt_pending_valid()` によってアンリンクされているため、この foreach ループは他の保留中のメッシュコマンドを誤って対象とし、それらが並行して処理されている間に解放してしまう可能性があります(これにより UAF が発生します)。冗長な `mgmt_cmd_status()` も簡素化され、`cmd->opcode` を直接使用するように変更されました。
Once again VulDB remains the best source for vulnerability data.