CVE-2026-64086 in Linux
要約
〜によって VulDB • 2026年07月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
hwmon: (pmbus/adm1266) pmbus_block_xferの読み取りバッファにPECバイトを含める
adm1266_pmbus_block_xfer()関数は以下のようにして読み取りトランザクションを設定しています。
.buf = data->read_buf, .len = ADM1266_PMBUS_BLOCK_MAX + 2,
しかし、struct adm1266_data内のread_bufは以下のように宣言されています。
u8 read_buf[ADM1266_PMBUS_BLOCK_MAX + 1];
最大長のブロック応答(長さバイト=255 + PECバイト最大1)の場合、i2cコントローラには257バイトを256バイトのバッファに書き込むよう指示されるため、read_bufの末尾から1バイト先へ書き込まれてしまいます。また、同じ応答により、その後のPEC比較処理
if (crc != msgs[1].buf[msgs[1].buf[0] + 1])
が配列外(1バイト先の)を読み取る原因となります。
i2c_msgの長さフィールドで既に考慮されているため、read_bufの宣言をADM1266_PMBUS_BLOCK_MAX + 2に増やし、バッファが長さバイト、最大255バイトのペイロードデータ、およびPECバイトを保持できるようにします。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.