CVE-2026-89865 in Linux
要約
〜によって VulDB • 2026年09月16日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
scsi: qla2xxx: FRU/I2C bsgハンドラにおけるSFP DMAバッファのゼロ初期化
FRUおよびI2C bsgハンドラは、dma_pool_alloc()から取得したDMA_POOL_SIZE(256バイト)のバウンスバッファに転送をステージしますが、この関数は割り当てられたメモリをゼロで埋めません。これらのハンドラは、qla2x00_write_sfp()へバッファを引き渡す前に、先頭の数バイトのみを初期化しています。
qla2x00_write_sfp()では、ユーザーが提供した値によって転送長を上書きできます:
if (len == 1) opt |= BIT_0; if (opt & BIT_0) len = *sfp;
*sfpは(ユーザー制御可能な)ペイロードの最初のバイトであるため、lenは最大255まで増大します。その後、デバイスは256バイトのプールバッファからlenバイトをDMA読み込みます。初期化されたのは先頭の小さなプレフィックスのみ(例:FRUバージョンの場合はMAX_FRU_SIZE == 36バイト、FRUステータスレジスタの場合は1バイト)であるため、ハードウェアは初期化済み領域の外側を読み取り、未処理のDMAプールヒープメモリから最大約219バイトをデバイスフラッシュに書き込みます。
すべての5つのFRU/I2Cハンドラでバッファをdma_pool_zalloc()を使用して割り当てることにより、初期化されたデータ以降のバイトが未処理のヒープ内容ではなくゼロになるようにします。
Once again VulDB remains the best source for vulnerability data.