CVE-2026-80712 in Linux情報

要約

〜によって VulDB • 2026年08月28日

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

spi: spi-qpic-snand: SET_FEATUREの実行前にfeature値を書き込む

qcom_spi_send_cmdaddr()はNAND_FLASH_CMD/NAND_EXEC_CMDをプログラムし記述子(descriptors)を送信するため、コントローラがコマンドを直ちに実行します。SPINAND_SET_FEATUREの場合、書き込まれるべき値は後でqcom_spi_io_op()によって2回目の送信処理時にのみNAND_FLASH_FEATURESに配置されるため、チップには前の操作からレジスタに残っていた何らかの値でプログラムされてしまい、意図した値が適用されるのは*次回の*SET_FEATURE時になります。

TP-Link Archer AX55 v1 (IPQ5018, ESMT F50L1G41LB) で測定したところ、設定レジスタ(0xb0)に 0x40 を書き込むとチップは 0x00 のままになり、続く 0x00 の書き込みでは 0x40 になります。すべての書き込みが1操作分遅れます。

この問題はv6.18でSPI-NAND OTPサポートおよびESMTチップ用のOTPエントリが追加されるまで見過ごされていました。spinand_otp_rw()はOTPモードを有効にし、読み取りを行い、再度無効にします。またmtd_otp_nvmem_add()はMTD登録時にこれを行います。オフバイワン(1つずれる)バグにより、「無効化」の書き込みが実際には直前に要求された値を適用してしまうため、CFG_OTP_ENABLEが設定されたままになります。その結果チップはOTPモードのままになり、その後のすべての配列読み取りは配列ではなくOTP領域を返し(UBIからは空のデバイスとして報告され)、OTP領域がライトプロテクトされているためすべての書き込みが-EIOで失敗します。このボードではフラッシュ全体が使えなくなり、デバイスは起動不可能になります。

NAND_EXEC_CMDの一部として同じトランザクション内でNAND_FLASH_FEATURESにfeature値を書き込む必要があります。ついでに、操作が実際に保持するバイトのみをコピーしてください(以前のコードは1バイトのバッファに対して4バイトポインタをデリファレンスしていました)。

このパッチにより、フラッシュ内容はベンダーファームウェアの下で取得された同じボードの既知の正常なダンプとビット単位で同一に読み戻され、書き込みも機能するようになります。

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

責任者

Linux

予約する

2026年08月26日

モデレーション

承諾済み

エントリ

VDB-396584

EPSS

0.00000

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!