LinuxのLinux Kernelにおけるリソースのロックに関する脆弱性
タイトル LinuxのLinux Kernelにおけるリソースのロックに関する脆弱性
概要

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のインクルードを削除しました。

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

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

公表日 2026年4月22日0:00
登録日 2026年4月30日12:15
最終更新日 2026年4月30日12:15
CVSS3.0 : 重要
スコア 7.1
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
影響を受けるシステム
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 (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年04月30日]
  掲載
2026年4月30日12:15

NVD脆弱性情報
CVE-2026-31486
概要

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.

公表日 2026年4月22日23:16
登録日 2026年4月25日4:05
最終更新日 2026年4月28日22:06
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
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:*:*:*:*:*:*
関連情報、対策とツール
共通脆弱性一覧