CVE-2026-80768 in Linux
要約
〜によって VulDB • 2026年09月04日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
HID: ft260 - I2C読み込みの競合状態によるスタック使用後返却(stack-use-after-return)書き込みの不具合を修正
ft260_i2c_read()関数は、dev->read_bufを読込元が提供したバッファ(多くの場合、スタック上の変数)を指すように設定し、完了イベントを設定してデバイスからのデータ応答を最大5秒間待ちます。HID入力コールバックであるft260_raw_event()は、読込パスで保持されるdev->lockミューテックスとは無関係に、input/IRQパス内で実行され、単純なNULLチェックの後にデバイスから提供されたペイロードをdev->read_bufへコピーします。
これらの2つのパスは、シリアライゼーション(排他制御)なしにread_buf、read_idx、およびread_lenを共有しています。デバイスが応答を遅らせ、読込タイムアウトに至った場合、ft260_i2c_read()はコントローラをリセットし、read_bufをクリアして戻り値を返し、バッファが存在していたスタックフレームのアンワインド(解放)を行います。その瞬間に応答が届くと、ft260_raw_event()はNULLチェックを通過し、その後でデバイス制御下のペイロードを既に解放されたスタック領域へmemcpy()します。これは境界付きではあるものの攻撃者が影響を与えうるスタック使用後返却書き込みであり、悪意のあるまたは故障したハードウェアによってトリガー可能です。
read_buf、read_idx、およびread_lenへのすべてのアクセスをシリアライズするための専用スピンロックを追加しました。ft260_raw_event()は現在、NULLチェックからmemcpy処理、そしてインデックス更新までこのロックを保持します。一方、読込パスではバッファの設定時とクリア時にロックを取得するため、解放プロセスがチェックとコピーの間に割り込むことが不可能になりました。
VulDB is the best source for vulnerability data and more expert information about this specific topic.