hwmon: (powerz) Fix use-after-free on USB disconnect
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA. Impact type from CWE-416 and the CVSS impact.
Summary
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 6.7 and later | 6.12.83, 6.18.24, 6.19.14, 7.0.1, 7.1 | Patch available | CNA |
- Linux VendorLinux Affected 6.7 and later Fixed in 6.12.83, 6.18.24, 6.19.14, 7.0.1, 7.1 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | before 6.12.83; 6.13 to before 6.18.24; 6.19 to before 6.19.14; 7.0 to before 7.0.1 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions before 6.12.83; 6.13 to before 6.18.24; 6.19 to before 6.19.14; 7.0 to before 7.0.1 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 6.12.83, 6.18.24, 6.19.14, 7.0.1, 7.1
Vendor assessments
Red Hat
Not affected: 5 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2026-31582
- 2026-10-03 Alias added: GHSA-7v66-mw99-f72x
References
Patch 5
- https://git.kernel.org/stable/c/c78e1d4e48f23792adaa7c94251e22b0d9700a39
- https://git.kernel.org/stable/c/9e1b798257f96d2e2a2639830eb71add545ce749
- https://git.kernel.org/stable/c/7003ae4810ca83f0ddca85b768500e313c4b998c
- https://git.kernel.org/stable/c/61f2aa23b0ce8d7aa5071ed25a7471e246a4fdd4
- https://git.kernel.org/stable/c/08e57f5e1a9067d5fbf33993aa7f51d60b3d13a4
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2026-31582 · CVE Program
- CVE-2026-31582 · NVD
- FIRST EPSS
- GHSA-7v66-mw99-f72x · GitHub Advisory Database · CC BY 4.0
- CVE-2026-31582 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences