製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおけるリソースのロックに関する脆弱性
Title LinuxのLinux Kernelにおけるリソースのロックに関する脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました。hwmon: (pmbus/core) レギュレータの操作をミューテックスで保護することです。pmbus_regulator_get_voltage()、pmbus_regulator_set_voltage()、pmbus_regulator_list_voltage() の各レギュレータ操作はPMBusレジスタおよび共有データにアクセスしますが、update_lockミューテックスによる保護がされていませんでした。これにより競合状態が発生する可能性がありました。しかし、これらの関数に直接ミューテックス保護を追加すると、pmbus_regulator_notify()(regulator_notifier_call_chain()を呼び出す)がしばしばすでにミューテックスを保持した状態で呼ばれます(例:pmbus_fault_handler()から)。そのため、デッドロックが発生しました。もしレギュレータのコールバックが、その保護されたボルテージ関数のいずれかを呼び出した場合、同じミューテックスを取得しようとします。そこで、pmbus_regulator_notify()を改修し、通知をミューテックス保護外で送信するためにワーカ関数を利用するようにしました。イベントはページごとのビットマスクにアトミックに格納され、ワーカによって処理されます。レギュレータ登録時にワーカと関連データを初期化し、デバイス削除時にdevm_add_action_or_reset()を使用してキャンセルを確実に行います。同時に、不要なlinux/of.hのインクルードを削除しました。

Possible impacts 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

Publication Date April 22, 2026, midnight
Registration Date April 30, 2026, 12:15 p.m.
Last Update April 30, 2026, 12:15 p.m.
CVSS3.0 : 重要
Score 7.1
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
Affected System
Linux
Linux Kernel 3.19
Linux Kernel 3.19.1 以上 6.18.21 未満
Linux Kernel 6.19 以上 6.19.11 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年04月30日]
  掲載
April 30, 2026, 12:15 p.m.

NVD Vulnerability Information
CVE-2026-31486
Summary

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.

Publication Date April 22, 2026, 11:16 p.m.
Registration Date April 25, 2026, 4:05 a.m.
Last Update April 28, 2026, 10:06 p.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.19.1 6.18.21
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 6.19.11
cpe:2.3:o:linux:linux_kernel:3.19:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*
Related information, measures and tools
Common Vulnerabilities List