CVE-2026-31582: hwmon: (powerz) Fix use-after-free on USB disconnect
In the Linux kernel, the following vulnerability has been resolved:
hwmon: (powerz) Fix use-after-free on USB disconnect
After powerzdisconnect() frees the URB and releases the mutex, a subsequent powerzread() call can acquire the mutex and call powerzreaddata(), which dereferences the freed URB pointer.
Fix by: - Setting priv->urb to NULL in powerzdisconnect() so that powerzreaddata() can detect the disconnected state. - Adding a !priv->urb check at the start of powerzreaddata() to return -ENODEV on a disconnected device. - Moving usbsetintfdata() before hwmon registration so the disconnect handler can always find the priv pointer.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.115-2Fixed in 7.2.12-1Fixed in 7.2.15-1 - Compensating control
In the powerz driver, set priv->urb to NULL in powerz_disconnect(), add a !priv->urb check at the start of powerz_read_data() that returns -ENODEV for a disconnected device, and move usb_set_intfdata() before hwmon registration so the disconnect handler can always find the priv pointer.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-31582?
CVE-2026-31582 is classified as a high-severity vulnerability due to its potential for causing use-after-free errors.
How do I fix CVE-2026-31582?
To fix CVE-2026-31582, users should update the Linux kernel to the patched version that resolves the use-after-free issue.
What systems are affected by CVE-2026-31582?
CVE-2026-31582 affects the Linux kernel, specifically the hwmon subsystem related to the powerz driver.
What does the CVE-2026-31582 vulnerability entail?
CVE-2026-31582 involves a use-after-free condition that can occur on USB disconnect events in the hwmon powerz driver.
Is there a workaround for CVE-2026-31582?
Currently, the recommended solution for CVE-2026-31582 is to apply the latest kernel patches as there are no known effective workarounds.