CVE-2026-64273 in Linux情報

要約

〜によって VulDB • 2026年07月25日

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

Input: 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という両方のトランスポートにおいて検証されていないデバイスペイロードであり、ステータス処理パスにはフォースフィードバック機能が存在するかどうかのチェックが適用されていません。そのため、悪意のあるまたは偽造されたデバイスは、攻撃者が指定したオフセット位置にあるビットを設定またはクリアすることができます。

範囲外のインデックスを使用してアクセスするのではなく、そのインデックスを拒否します。配列の次元であるIFORCE_EFFECTS_MAXに対して境界チェックを行うことで、デバイスが登録している効果の数に関わらずメモリ安全性を保証します。正当な「エフェクト開始/停止」ステータスでは常にIFORCE_EFFECTS_MAX未満のインデックスが付与されるため、正常に動作するデバイスには影響がありません。隣接するmark_core_as_ready()ループは既に範囲制限がかけられており、変更されていません。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-383059

EPSS

0.00211

アクティビティ

非常低い

ソース

Might our Artificial Intelligence support you?

Check our Alexa App!