LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
タイトル LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:Bluetooth: MGMT: コマンド完了ハンドラにおけるリスト破損およびUse-After-Free(UAF)を修正しました。コミット302a1f674c00("Bluetooth: MGMT: 可能なUAFの修正")によってmgmt_pending_valid()が導入されました。これは保留中のコマンドの検証を行い、有効な場合は保留中リストからコマンドを解除します。この意味論の変更により、リスト破損やメモリ安全問題を避けるために複数の完了ハンドラの更新が必要となりました。本パッチは前述の修正から残っていた2つの問題に対処しています。1. mgmt_add_adv_patterns_monitor_complete()内で、成功パスにおけるmgmt_pending_remove()をmgmt_pending_free()に置換しました。mgmt_pending_valid()が関数の冒頭で既にコマンドをリストから解除しているため、mgmt_pending_remove()を呼ぶとlist_del()が二重に実行され、リスト破損やカーネルパニックを引き起こします。2. set_mesh_complete()内のエラーパスでmgmt_pending_foreach()の使用を除去しました。現在のコマンドはすでにmgmt_pending_valid()によって解除されているため、このforeachループは誤って別の保留中のmeshコマンドを対象とし、同時に処理中のコマンドを誤って解放してしまい、Use-After-Free(UAF)につながる可能性があります。また、冗長なmgmt_cmd_status()の呼び出しを簡素化し、直接cmd-opcodeを使用するように変更しました。

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

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

公表日 2026年5月5日0:00
登録日 2026年5月28日14:41
最終更新日 2026年5月28日14:41
CVSS3.0 : 重要
スコア 7.8
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
影響を受けるシステム
Linux
Linux Kernel 6.12.59 以上 6.12.78 未満
Linux Kernel 6.16.10 以上 6.17 未満
Linux Kernel 6.17
Linux Kernel 6.17.1 以上 6.18.20 未満
Linux Kernel 6.19 以上 6.19.10 未満
Linux Kernel 6.6.140 以上 6.7 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年05月28日]
  掲載
2026年5月28日14:41

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

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

Bluetooth: MGMT: Fix list corruption and UAF in command complete handlers

Commit 302a1f674c00 ("Bluetooth: MGMT: Fix possible UAFs") introduced
mgmt_pending_valid(), which not only validates the pending command but
also unlinks it from the pending list if it is valid. This change in
semantics requires updates to several completion handlers to avoid list
corruption and memory safety issues.

This patch addresses two left-over issues from the aforementioned rework:

1. In mgmt_add_adv_patterns_monitor_complete(), mgmt_pending_remove()
is replaced with mgmt_pending_free() in the success path. Since
mgmt_pending_valid() already unlinks the command at the beginning of
the function, calling mgmt_pending_remove() leads to a double list_del()
and subsequent list corruption/kernel panic.

2. In set_mesh_complete(), the use of mgmt_pending_foreach() in the error
path is removed. Since the current command is already unlinked by
mgmt_pending_valid(), this foreach loop would incorrectly target other
pending mesh commands, potentially freeing them while they are still being
processed concurrently (leading to UAFs). The redundant mgmt_cmd_status()
is also simplified to use cmd->opcode directly.

公表日 2026年5月6日1:16
登録日 2026年5月6日4:07
最終更新日 2026年5月6日22:08
関連情報、対策とツール
共通脆弱性一覧