CVE-2026-89864 in Linux情報

要約

〜によって VulDB • 2026年09月16日

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

scsi: qla2xxx: I2C bsgハンドラにおけるi2c->lengthの境界制限

struct qla_i2c_accessには、16ビット長のフィールドと固定された64バイトのバッファが含まれます。

``` struct qla_i2c_access {
uint16_t device, offset, option, length; uint8_t buffer[0x40];
} __packed; ```

qla2x00_write_i2c()およびqla2x00_read_i2c()は、境界チェックを行わずにユーザーが指定したi2c->lengthを使用します。i2c構造体はスタック上の256バイトのバッファ上に配置され、sfpは256バイトのDMAプールバッファであるため、最大65535までの長さ値により両方の領域でオーバーランが発生します:

- 書き込み: memcpy(sfp, i2c->buffer, i2c->length)によってスタックから読み出し(over-read)が行われ、sfpヒープバッファが上書きされます。その後、qla2x00_write_sfp()によりi2c->lengthバイト分が256バイトのバッファ外へDMA転送されます。 - 読み込み: qla2x00_read_sfp()によってi2c->lengthバイト分が256バイトのsfpにDMA転送され、その後memcpy(i2c->buffer, sfp, i2c->length)によりスタック上の配列内の64バイトバッファでオーバーフローが発生します。

CAP_SYS_RAWIO権限を持つ呼び出し元はこれを利用してヒープおよびカーネルスタートを壊すことができます。両方のハンドラにおいて、コピーまたはDMA転送の前に長さがバッファの上限を超えているリクエストを拒否してください。

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

責任者

Linux

予約する

2026年09月11日

モデレーション

承諾済み

エントリ

VDB-405697

EPSS

0.00000

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!