HIGH Introduced in 6.4
hwmon Notify OOB
CVE-2026-74711
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
KernelScan AI4.4MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: hwmon: (pmbus) Fix type confusion in notification logic Sashiko reports: At the start of the loop in pmbus_notify(), the code unconditionally casts every attribute to a 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; ... } However, data->group.attrs can contain other types like struct pmbus_samples_reg or struct pmbus_sensor, which only embed a base struct device_attribute. If da is a struct pmbus_samples_reg, dev_attr is the last member. Casting it to struct sensor_device_attribute and reading the index field appears to access memory past the end of the allocation, which might trigger a slab-out-of-bounds read. Additionally, if da is a struct pmbus_sensor, casting it causes the index field to overlap with the page, phase, and reg fields. Could this produce a garbage mask on little-endian systems that spuriously matches the target reg, page, and flags during an alert? Fix the problem by using struct sensor_device_attr in struct pmbus_sensor and struct pmbus_label. Since those attributes never trigger a notification, set the value of attr->index to -1 for them. Use this value to distinguish from boolean attributes which _can_ trigger a notification and use the index field to encode mask, page, and register values.
02KernelScan AI Analysis
Risk summary
The PMBus hardware monitoring driver's alert notification path contains a type confusion that causes a small out-of-bounds slab read when processing hardware alerts. The bug requires a PMBus-compatible I2C device to be present and its driver loaded, and triggers when the device raises an alert during normal or influenced operation. Impact is limited to a bounded information leak and potential spurious notifications, with a low likelihood of kernel panic.
Vulnerability analysis
The PMBus hardware monitoring driver's alert notification routine incorrectly treats all sysfs attributes as a single attribute type, regardless of their actual structure. When a PMBus device raises a hardware alert, the notification loop casts every attribute to a type that includes an extra integer field, but some attribute types are smaller and do not contain this field — causing the kernel to read past the end of the allocated object, or to interpret unrelated data as that field. The fix changes the affected attribute structures to include the expected type natively and marks non-notify attributes with a sentinel value so they are skipped during notification processing. This vulnerability requires a PMBus-compatible I2C device to be present and its kernel driver loaded; the bug triggers when the device generates a hardware alert, which can occur during normal operation or be influenced by a local user with access to the monitoring sysfs interface.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 6.12 | 6.4 | 6.12.114 | 1c8dd39d4849 |
| 6.18 | 6.4 | 6.18.45 | 821f6416e697 |
| 6.6 | 6.4 | 6.6.160 | ce443f6827b9 |
| 7.1 | 6.4 | 7.1.9 | 0b121de89a99 |
| mainline | 6.4 | 7.2 | 59bd68ab05a8 |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Affected — no CIP fix yet (latest 6.12.112-cip33) |