CVE-2026-64205 in Linux情報

要約

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

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

i2c: i801: エラー処理パスにおけるハードウェア状態機械の破損を修正

並行したFuzzing実行中に、i2c-i801ドライバで深刻なライブロックとそれに続くHung Taskパニックが観測されました。このクラッシュは、i801_access()のエラーハンドリングパスにおいて無条件に行われるハードウェアレジスタのクリーンアップに起因します。

i801_check_pre()が失敗した場合(例:SMBusコントローラがBIOS/ACPIによって使用中であるため-EBUSYを返す場合)、カーネルは実際にはハードウェア所有権を取得していません。しかし、コードは'out'ラベルにジャンプし、以下の処理を実行します。

iowrite8(SMBHSTSTS_INUSE_STS | STATUS_FLAGS, SMBHSTSTS(priv));

これにより、コントローラの所有権を持たずにINUSE_STSロックが強制的にクリアされ、ハードウェアステータスフラグがリセットされます。この操作は進行中のBIOS/ACPIトランザクションを中断し、SMBusハードウェア状態機械を完全に破損させます。

その結果、後続のすべてのi801_access()呼び出しがプリチェック段階で失敗し、「SMBus is busy, can't use it!(SMBusビジー、使用できません!)」というエラーログが無尽蔵に出力されます。低速なシリアルコンソール上では、このprintk洪水がCPUを独占し(Console Livelock)、mmap_lockのdown_readセマフォを取得しようとする他のプロセスを飢えさせ、最終的にhung taskウォッチドッグを発動させます。

'out'ラベルをハードウェアレジスタクリーンアップの下に移動することでこれを修正します。i801_check_pre()が失敗した場合、iowrite8()処理を安全にスキップし、ソフトウェアロック(pm_runtimeおよびmutex)のみを解放します。これにより、「取得していないリソースは解放しない」というルールを厳守します。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-380672

EPSS

0.00000

アクティビティ

低い

ソース

Do you know our Splunk app?

Download it now for free!