CVE-2026-31721
usb: gadget: f_hid: リストとスピンロックの初期化をbindからallocに移動
- 公開済み
- 2026/05/01
- 更新済み
- 2026/05/11
- CNA の割り当て
- Linux
- 観察された証拠
- 2026/08/27
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H低 · 今後 30 日間
- パーセンタイル
- 5.1%
- モデルの日付
- 2026/10/17
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Linux カーネルにおいて、以下の脆弱性が解決されました: usb: gadget: f_hid: リストとスピンロックの初期化をbindからallocへ移動 以下の操作を行った場合に問題が発生していました: - hid ガジェットをセットアップしてバインドする - /dev/hidg0 を開く - その結果得られた fd を EPOLL_CTL_ADD で使用する - UDC のバインドを解除する - UDC をバインドする - その fd を EPOLL_CTL_DEL で使用する CONFIG_DEBUG_LIST が有効な場合、remove_wait_queue (ep_remove_wait_queue 経由) 内で list_del の破損が報告されました。いくつかデバッグを行った結果、f_hid が poll_wait 経由で登録するキューが問題の原因であることが判明しました。これらのキューは hidg_bind 内で init_waitqueue_head を使用して初期化されていました。つまり、バインド関数はキューにまだ項目が残っている状態でキューを再初期化していたことになります。 解決策は、初期化を hidg_bind から hidg_alloc に移動し、その有効期間を関数インスタンスの有効期間まで延長することです。さらに、バインド関数内に他にも問題が発生する可能性のある初期化呼び出しが多数見つかったため、それらも同様に移動しました。
ソース
3件の公開済みf_hid修正(CVE-2026-31721、CVE-2026-31606を含む)を、EOL(サポート終了)のLinux 4.14.190 Androidベンダーカーネルにバックポートし、デバイス上での検証記録を添付したもの。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。