CVE-2026-74470 in Linux情報

要約

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

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

scsi: scsi_debug: REPORT ZONEのalloc_lenアンダーフローによるOOB書き込みを修正

resp_report_zones()関数は、CDB(Command Descriptor Block)の割り当て長から返信バッファのサイズを設定します。v3での修正では、記述子数を算出する前にALIGN()を用いてalloc_lenを切り上げています:

rep_max_zones = (ALIGN((u64)alloc_len, RZONES_DESC_HD) - RZONES_DESC_HD) >> ilog2(RZONES_DESC_HD); arr_len = (u64)RZONES_DESC_HD * (rep_max_zones + 1);

alloc_lenが0xFFFFFFC1..0xFFFFFFFFの範囲にある場合、ALIGN()はこれを0x100000000に切り上げます。その結果、arr_lenは4 GBになります。32ビット環境ではkzalloc()'s size_tは32ビットであり、0x100000000が0に桁落ち(truncation)します。kzalloc(0)はZERO_SIZE_PTRを返しますが、これは!arrチェックを通り抜け、その後ループ内でdesc = arr + 64の参照が行われるため、境界外書き込み / パニックが発生します。

rep_max_zonesをdevip->nr_zonesに制限(clamp)します。ループはすでにsdebug_capacity(nr_zones個のゾーン後)で停止するため、レポートが保持できる記述子の数は常にnr_zones以下です。このclamping処理はレポートの内容を変更せず、arr_lenを(nr_zones + 1) * RZONES_DESC_HDに制限するだけであり、これは0x100000000に到達することのない実際のデバイスプロパティとなります。

Be aware that VulDB is the high quality source for vulnerability data.

責任者

Linux

予約する

2026年08月15日

モデレーション

承諾済み

エントリ

VDB-390826

EPSS

0.00000

アクティビティ

非常低い

ソース

Interested in the pricing of exploits?

See the underground prices here!