hwmon: (pmbus) Fix type confusion in notification logic
CVE-2026-74711 · published 22 Aug 2026
How serious is it
- Severity: high, CVSS score 8.4 out of 10.
- No exploit prediction (EPSS) score yet.
- Not on the CISA list of exploited vulnerabilities.
- No public exploit in Exploit-DB.
Is your app affected by CVE-2026-74711?
Paste this prompt into Claude Code, Cursor or any AI coding tool: it runs a free Shippable scan of your project and fixes what it finds. Built with Lovable, Bolt or v0? Scan your live app. Or upload your package file.
Who is affected
- Linux Linux: f469bde9afd136598a0c4edc054296e6046f90ee to < ce443f6827b97e03a0fb34ebfddc8939c85e0500, f469bde9afd136598a0c4edc054296e6046f90ee to < 1c8dd39d48494cceb2c27c1911cbf26d10ce8514, f469bde9afd136598a0c4edc054296e6046f90ee to < 821f6416e69782fa662aff94b5ea52c943042790, f469bde9afd136598a0c4edc054296e6046f90ee to < 0b121de89a99c54bcf516999b04e8531c84f08d5
- Linux Linux: 6.4
How to check
- Find out whether you run the affected product and which version, then compare it with the versions above.
How to fix
Copies a prompt for Claude Code, Cursor or Codex that asks it to check whether you run this product.
- Apply the vendor's update or mitigation from the references below. If there is none yet, limit exposure of the affected service until there is.
- If a vulnerable version was live, check your logs and rotate the secrets that server could read.
The advisory
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.
Check your whole app
Dependencies are only half of it. Free and read-only: before you push, run npx shippable-dev scan localhost:3000 in your project folder, no account needed. For your live app, you prove it's yours with a one-line tag first.
References
- git.kernel.org/stable/c/ce443f6827b97e03a0fb34ebfddc8939c85e0500
- git.kernel.org/stable/c/1c8dd39d48494cceb2c27c1911cbf26d10ce8514
- git.kernel.org/stable/c/821f6416e69782fa662aff94b5ea52c943042790
- git.kernel.org/stable/c/0b121de89a99c54bcf516999b04e8531c84f08d5
- git.kernel.org/stable/c/59bd68ab05a8f9c9a60b6ec44682084184803ff4
Merged from CVE List. Last updated 25 Oct 2026. All vulnerabilities · RSS · JSON