Description
In the Linux kernel, the following vulnerability has been resolved:

hwmon: (powerz) Fix use-after-free on USB disconnect

After powerz_disconnect() frees the URB and releases the mutex, a
subsequent powerz_read() call can acquire the mutex and call
powerz_read_data(), which dereferences the freed URB pointer.

Fix by:
- Setting priv->urb to NULL in powerz_disconnect() so that
powerz_read_data() can detect the disconnected state.
- Adding a !priv->urb check at the start of powerz_read_data()
to return -ENODEV on a disconnected device.
- Moving usb_set_intfdata() before hwmon registration so the
disconnect handler can always find the priv pointer.
Published: 2026-04-24
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel crash (Denial of Service)
Action: Patch Now
AI Analysis

Impact

The vulnerability is a use‑after‑free in the powerz hwmon driver that occurs when a USB device is disconnected while the driver still holds a reference to the freed URB structure. A subsequent read operation dereferences the stale pointer, which can trigger a kernel crash. The weakness corresponds to CWE‑416 and CWE‑825, reflecting a use‑after‑free and a null pointer dereference.

Affected Systems

All versions of the Linux kernel that include the powerz hwmon driver and have not yet applied the fix that clears the URB pointer on disconnect are affected. The product is the Linux kernel; the vendor is Linux and the product identifier is Linux:Linux. Specific affected releases are those that do not contain the commit sequence referenced in the advisory links.

Risk and Exploitability

The CVSS score of 7.8 indicates a high severity impact if successfully exploited. The EPSS score is less than 1%, suggesting that exploitation events are rare. The vulnerability is not listed in the CISA KEV catalog. Based on the description, the attacker would need to cause a USB device to disconnect and then trigger a read operation. This attack vector is inferred from the stated conditions and requires the attacker to control the device or the environment to induce the disconnect. While not explicitly documented as feasible, it is considered difficult but not impossible to exploit under the right circumstances.

Generated by OpenCVE AI on April 28, 2026 at 23:44 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the patch that nulls the URB pointer on powerz disconnect.
  • If an upgrade is not immediately possible, unbind or remove the powerz hwmon device from the system to eliminate the vulnerable code paths, or ensure that no authorized USB devices remain connected that could trigger the bug.
  • If the system must continue to use the powerz driver, unload the module with 'modprobe -r powerz' or otherwise disable the driver until a patch can be applied.

Generated by OpenCVE AI on April 28, 2026 at 23:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6238-1 linux security update
History

Mon, 27 Apr 2026 20:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Mon, 27 Apr 2026 11:30:00 +0000


Sat, 25 Apr 2026 00:15:00 +0000


Fri, 24 Apr 2026 15:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: hwmon: (powerz) Fix use-after-free on USB disconnect After powerz_disconnect() frees the URB and releases the mutex, a subsequent powerz_read() call can acquire the mutex and call powerz_read_data(), which dereferences the freed URB pointer. Fix by: - Setting priv->urb to NULL in powerz_disconnect() so that powerz_read_data() can detect the disconnected state. - Adding a !priv->urb check at the start of powerz_read_data() to return -ENODEV on a disconnected device. - Moving usb_set_intfdata() before hwmon registration so the disconnect handler can always find the priv pointer.
Title hwmon: (powerz) Fix use-after-free on USB disconnect
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-05-11T22:11:34.784Z

Reserved: 2026-03-09T15:48:24.119Z

Link: CVE-2026-31582

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-04-24T15:16:32.903

Modified: 2026-04-27T20:26:58.400

Link: CVE-2026-31582

cve-icon Redhat

Severity :

Publid Date: 2026-04-24T00:00:00Z

Links: CVE-2026-31582 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-04-28T23:45:16Z

Weaknesses