JVNDB-2026-028234 | |
LinuxのLinux Kernelにおける配列インデックスの検証に関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。入力:iforce - デバイスが報告するフォースフィードバック効果インデックスの範囲制限。iforce_process_packet()は、ステータスレポート(パケットID 0x02)を処理する際に、デバイスから直接受け取ったフォースフィードバック効果のインデックスを使用して、効果ごとの状態配列にアクセスします。i = data[1] & 0x7f;if (data[1] & 0x80) { if (!test_and_set_bit(FF_CORE_IS_PLAYED, iforce->core_effects[i].flags)) ...} else if (test_and_clear_bit(FF_CORE_IS_PLAYED, iforce->core_effects[i].flags)) { ...}インデックスは0x7fでマスクされており、範囲は0から127までですが、core_effects[]はIFORCE_EFFECTS_MAX(32)エントリしか保持していません。つまり、インデックスが32から127の場合、test_and_set_bit()およびtest_and_clear_bit()は配列の範囲外の単一ビットの読み取り、修正、書き込みを行います。core_effects[]はstruct iforceの最後から2番目のメンバであり、その書き込みは末尾のメンバやkzalloc()で確保されたiforce_serio / iforce_usbオブジェクトの範囲外に及びます。data[1]はUSBの割り込みエンドポイント及びserioの両方のトランスポートにおいて検証されていないデバイスからのペイロードであり、ステータスパスではフォースフィードバックの存在についてチェックされていません。そのため、悪意あるまたは偽造デバイスは攻撃者が選択したオフセットのビットを設定またはクリアすることが可能です。範囲外のインデックスで配列にアクセスするのではなく、インデックスが範囲内かどうかをチェックし、不正なアクセスを拒否するように修正しました。デバイスが登録した効果数に依存せずメモリ安全性を保証するため、dev->ff->max_effectsではなく配列のサイズであるIFORCE_EFFECTS_MAXに対して境界チェックを行います。正当な「効果開始/停止」ステータスは常にIFORCE_EFFECTS_MAX未満のインデックスを持つため、正しく構成されたデバイスには影響しません。隣接するmark_core_as_ready()ループもすでに境界チェックされており、そのまま維持されています。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.8 (重要) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/25 |
| 登録日 | 2026/08/17 |
| 最終更新日 | 2026/08/17 |



