製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける不特定の脆弱性
Title LinuxのLinux Kernelにおける不特定の脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました。smbクライアントのcifsaclで、DACL全体を検証せずに書き換えていた問題です。build_sec_desc()およびid_mode_to_cifs_acl()は、サーバーから提供されたdacloffsetからDACLポインターを取得し、受信したACLを使用してchmodやchownのセキュリティ記述子を再構築します。元の修正では、struct smb_aclのヘッダーが読み取り前に適切に収まっているかのみをチェックし、dacl_ptr-sizeやdacl_ptr-num_acesの範囲外読み取りを回避していました。しかし、書き換えヘルパーは受信したDACL本体の構造的検証を行わず、pdacl-num_acesに基づいてACEを処理していました。悪意のあるサーバーは、ヘッダーは存在し1つ以上のACEがあると主張するものの不完全なDACLを返し、その後replace_sids_and_copy_aces()やset_chmod_dacl()を範囲外アクセスに誘導し、攻撃者制御下のACEを比較・コピーすることが可能でした。そこでDACLの構造チェックをvalidate_dacl()にまとめ、各ACEがDACLの境界内にあることを検証する機能を拡張し、chmodやchownの再構築パスの前に共通の検証器を使用するようにしました。parse_dacl()も同じ検証器を再利用し、読み込み側のパーサーと書き換えパスが妥当な受信DACLの定義で一致するようにしています。

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

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

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

NVD Vulnerability Information
CVE-2026-31709
Summary

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

smb: client: validate the whole DACL before rewriting it in cifsacl

build_sec_desc() and id_mode_to_cifs_acl() derive a DACL pointer from a
server-supplied dacloffset and then use the incoming ACL to rebuild the
chmod/chown security descriptor.

The original fix only checked that the struct smb_acl header fits before
reading dacl_ptr->size or dacl_ptr->num_aces. That avoids the immediate
header-field OOB read, but the rewrite helpers still walk ACEs based on
pdacl->num_aces with no structural validation of the incoming DACL body.

A malicious server can return a truncated DACL that still contains a
header, claims one or more ACEs, and then drive
replace_sids_and_copy_aces() or set_chmod_dacl() past the validated
extent while they compare or copy attacker-controlled ACEs.

Factor the DACL structural checks into validate_dacl(), extend them to
validate each ACE against the DACL bounds, and use the shared validator
before the chmod/chown rebuild paths. parse_dacl() reuses the same
validator so the read-side parser and write-side rewrite paths agree on
what constitutes a well-formed incoming DACL.

Publication Date May 1, 2026, 11:16 p.m.
Registration Date May 2, 2026, 4:06 a.m.
Last Update May 7, 2026, 3:16 p.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.12 7.0.2
Related information, measures and tools
Common Vulnerabilities List