CVE-2026-74711 in Linux
要約
〜によって VulDB • 2026年08月22日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
hwmon: (pmbus) 通知ロジックにおける型混同(type confusion)の修正
Sashikoより報告:
pmbus_notify()内のループ開始部では、コードがすべての属性をstruct sensor_device_attributeに無条件でキャストしています。
drivers/hwmon/pmbus/pmbus_core.c:pmbus_notify() {
for (i = 0; i < data->num_attributes; i++) {
struct device_attribute *da = to_dev_attr(data->group.attrs[i]);
struct sensor_device_attribute *attr = to_sensor_dev_attr(da); int index = attr->index; ... }
しかし、data->group.attrsにはstruct pmbus_samples_regやstruct pmbus_sensorといった他の型も含まれており、これらはbaseとなるstruct device_attributeのみを内包しています。
daがstruct pmbus_samples_regの場合、dev_attrは最後のメンバです。これをstruct sensor_device_attributeにキャストしてindexフィールドを読み出すと、割り当てられたメモリ領域の末尾を超えたアクセスになり、slab-out-of-bounds read(スラブ外境界読み取り)をトリガーする可能性があります。
さらに、daがstruct pmbus_sensorの場合、キャストするとindexフィールドがpage、phase、regフィールドと重複します。これはリトルエンディアンシステムにおいて、アラート発生時にターゲットのreg、page、flagsに誤って一致するガベージマスク(無効な値)を生成し得るでしょうか?
この問題を修正するため、struct pmbus_sensorおよびstruct pmbus_labelでstruct sensor_device_attrを使用します。これらの属性は通知をトリガーしないため、attr->indexの値を-1に設定します。この値を使用して、通知をトリIGGERする可能性があり、インデックスフィールドを使ってマスク、ページ、レジスタ値をエンコードするブール型属性と区別します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.