CVE-2026-31486CWE-362CWE-667

CVE-2026-31486

High · published April 22, 2026

CVSS v3.1
7.1
EPSS
0%
Percentile
0.8
In the wild
Unconfirmed
What it is

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

hwmon: (pmbus/core) Protect regulator operations with mutex

The regulator operations pmbus_regulator_get_voltage(),

pmbus_regulator_set_voltage(), and pmbus_regulator_list_voltage()

access PMBus registers and shared data but were not protected by

the update_lock mutex. This could lead to race conditions.

However, adding mutex protection directly to these functions causes

a deadlock because pmbus_regulator_notify() (which calls

regulator_notifier_call_chain()) is often called with the mutex

already held (e.g., from pmbus_fault_handler()). If a regulator

callback then calls one of the now-protected voltage functions,

it will attempt to acquire the same mutex.

Rework pmbus_regulator_notify() to utilize a worker function to

send notifications outside of the mutex protection. Events are

stored as atomics in a per-page bitmask and processed by the worker.

Initialize the worker and its associated data during regulator

registration, and ensure it is cancelled on device removal using

devm_add_action_or_reset().

While at it, remove the unnecessary include of linux/of.h.

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00099 · 0.8th percentile
Weaknesses
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition'); CWE-667 · Improper Locking
Published
2026-04-22T18:16Z
Affected products (10)
ProductVersionsFixed in
linux/linux_kernel≥ 3.19.1, < 6.18.216.18.21
linux/linux_kernel≥ 6.19, < 6.19.116.19.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (5)
EPSS history
Timeline
  • 22 APR 13:54Z
    hwmon: (pmbus/core) Protect regulator operations with mutex
    cvelistv5