CVE-2026-31709 in Linux
要約
〜によって VulDB • 2026年05月25日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
smb: クライアント: cifsaclへの書き込み前にDACL全体を検証する
build_sec_desc()およびid_mode_to_cifs_acl()は、サーバーから提供されたdacloffsetからDACLポインターを導出し、受信したACLを使用してchmod/chownのセキュリティ記述子を再構築します。
元の修正では、dacl_ptr->sizeやdacl_ptr->num_acesを読み込む前にstruct smb_aclのヘッダーが収まることのみをチェックしていました。これにより即座なヘッダーフィールドの範囲外読み取り(OOB read)は回避されますが、書き換えヘルパー関数は依然として、受信したDACL本体に対する構造的検証なしにpdacl->num_acesに基づいてACEを走査します。
悪意のあるサーバーは、ヘッダーを保持しつつ切り詰められたDACLを返し、1つ以上のACEが存在すると主張し、攻撃者が制御するACEの比較やコピー中にreplace_sids_and_copy_aces()またはset_chmod_dacl()を検証済みの範囲外へ進ませることができます。
DACLの構造的チェックをvalidate_dacl()に分離し、各ACEがDACLの境界内にあることを検証するように拡張し、chmod/chownの再構築パスの前に共有バリデータを使用します。parse_dacl()も同じバリデータを利用するため、読み取り側のパーサーと書き込み側の書き換えパスは、有効な受信DACLの定義について一致します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.