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

Linuxカーネルにおいて、以下の脆弱性が修正されました:smbのclientのcheck_wsl_eas()内にあるオフバイ8の境界チェックの修正です。この境界チェックはEA名と値の終端として(u8 *)ea + nlen + 1 + vlenを使用していますが、ea_dataはeaのオフセット0ではなく、sizeof(struct smb2_file_full_ea_info) = 8の位置にあります。strncmp()は後にea-ea_data[0..nlen-1]を読み取り、その後に値のバイトがea_data[nlen+1..nlen+vlen]に続きます。したがって、実際の終端はea-ea_data + nlen + 1 + vlenとなります。ポインタ演算は難しいものです。以前のチェックである(u8 *)ea end - sizeof(*ea)は8バイトのヘッダーが境界内にあることのみを保証していましたが、最後のEAはレスポンスの終端近くの8バイト内に配置されているため、名前と値のバイトがiovの終端を超えて読み取られてしまう問題がありました。この混乱を修正するために、境界チェックの基準をea-ea_dataに変更しました。この脆弱性を悪用されると、「信頼されていない」サーバーが最大8バイトのカーネルヒープ情報をEA名の比較時にリークさせ、データがどのWSLのxattrとして解釈されるかに影響を与える可能性があります。

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

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

公表日 2026年4月24日0:00
登録日 2026年5月1日10:48
最終更新日 2026年5月1日10:48
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 6.13 以上 6.18.24 未満
Linux Kernel 6.19 以上 6.19.14 未満
Linux Kernel 6.6.32 以上 6.6.136 未満
Linux Kernel 6.9 以上 6.12.83 未満
Linux Kernel 7.0 以上 7.0.1 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年05月01日]
  掲載
2026年5月1日10:48

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

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

smb: client: fix off-by-8 bounds check in check_wsl_eas()

The bounds check uses (u8 *)ea + nlen + 1 + vlen as the end of the EA
name and value, but ea_data sits at offset sizeof(struct
smb2_file_full_ea_info) = 8 from ea, not at offset 0. The strncmp()
later reads ea->ea_data[0..nlen-1] and the value bytes follow at
ea_data[nlen+1..nlen+vlen], so the actual end is ea->ea_data + nlen + 1
+ vlen. Isn't pointer math fun?

The earlier check (u8 *)ea > end - sizeof(*ea) only guarantees the
8-byte header is in bounds, but since the last EA is placed within 8
bytes of the end of the response, the name and value bytes are read past
the end of iov.

Fix this mess all up by using ea->ea_data as the base for the bounds
check.

An "untrusted" server can use this to leak up to 8 bytes of kernel heap
into the EA name comparison and influence which WSL xattr the data is
interpreted as.

公表日 2026年4月25日0:16
登録日 2026年4月25日4:07
最終更新日 2026年4月30日3:03
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6.32 6.6.136
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.9 6.12.83
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 6.18.24
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 6.19.14
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 7.0 7.0.1
関連情報、対策とツール
共通脆弱性一覧