LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性
タイトル LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性
概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。ibmasmにおけるサイズチェックの欠如によって発生するcommand_file_write内の境界外読み取り(OOB)を修正しました。command_file_write() ハンドラは正確に count バイトのカーネルバッファを割り当ててユーザーデータをそこにコピーしますが、get_dot_command_size() および get_dot_command_timeout() に渡す前にバッファをドットコマンドプロトコルに対して検証しませんでした。割り当てサイズ(count)およびヘッダフィールド(command_size、data_size)が共にユーザーにより独立して制御されるため、攻撃者は get_dot_command_size() に割り当てより大きい値を返させ、get_dot_command_timeout() 内でのOOB読み取りや境界外の memcpy_toio() を引き起こしました。これにより、カーネルヒープメモリがサービスプロセッサに漏洩する可能性がありました。修正として二つのガードを設けました。割り当て前に sizeof(struct dot_command_header) より小さい書き込みを拒否し、ユーザーデータコピー後にバッファサイズがヘッダで宣言された合計サイズ(sizeof(header) + command_size + data_size)より小さいコマンドを拒否します。これにより、その後のすべてのヘッダおよびペイロードフィールドへのアクセスがバッファ内に収まることを保証します。

想定される影響 ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。 
対策

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

公表日 2026年5月27日0:00
登録日 2026年6月17日15:43
最終更新日 2026年6月17日15:43
CVSS3.0 : 重要
スコア 7.1
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
影響を受けるシステム
Linux
Linux Kernel 2.6.12
Linux Kernel 2.6.12.1 以上 5.10.258 未満
Linux Kernel 5.11 以上 5.15.209 未満
Linux Kernel 5.16 以上 6.1.175 未満
Linux Kernel 6.13 以上 6.18.27 未満
Linux Kernel 6.19 以上 7.0.4 未満
Linux Kernel 6.2 以上 6.6.140 未満
Linux Kernel 6.7 以上 6.12.86 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年06月17日]
  掲載
2026年6月17日15:43

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

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

ibmasm: fix OOB reads in command_file_write due to missing size checks

The command_file_write() handler allocates a kernel buffer of exactly
count bytes and copies user data into it, but does not validate the
buffer against the dot command protocol before passing it to
get_dot_command_size() and get_dot_command_timeout().

Since both the allocation size (count) and the header fields (command_size,
data_size) are independently user-controlled, an attacker can cause
get_dot_command_size() to return a value exceeding the allocation,
triggering OOB reads in get_dot_command_timeout() and an out-of-bounds
memcpy_toio() that leaks kernel heap memory to the service processor.

Fix with two guards: reject writes smaller than sizeof(struct
dot_command_header) before allocation, then after copying user data
reject commands where the buffer is smaller than the total size declared
by the header (sizeof(header) + command_size + data_size). This ensures
all subsequent header and payload field accesses stay within the buffer.

公表日 2026年5月27日23:17
登録日 2026年5月28日4:12
最終更新日 2026年6月2日2:17
関連情報、対策とツール
共通脆弱性一覧