CVE-2026-68100 in Linux情報

要約

〜によって VulDB • 2026年08月10日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

ksmbd: set_ntacl_daclにおけるACEコピー時のnum_subauthの検証

set_ntacl_dacl()関数は、攻撃者が制御可能な保存済みセキュリティ記述子から各ACEをそのままレスポンスDACLにコピーしますが、sid.num_subauthをチェックしていません。ACEバイト列(未検証のnum_subauthを含む)は、ksmbd_vfs_set_sd_xattr()によって生データとして保存される認証済みのSMB2_SET_INFO(SecInfo=DACL)から由来します。parse_dacl()関数は不正なACEに対して`break`で処理を中断するためエラーとはならず、その結果parse_sec_desc()は成功を返すため、形式が正しくないセキュリティ記述子(SD)がxattrとしてそのまま渡されてしまいます。

その後、POSIXアクセスACLを持つinodeに対するSMB2_QUERY_INFO(SecInfo=DACL)リクエストが発生すると、build_sec_desc() -> set_ntacl_dacl() -> set_posix_acl_entries_dacl()の呼び出しチェーンでコピーされたACEを走査し、以下のコードが実行されます。

ntace->sid.sub_auth[ntace->sid.num_subauth - 1]

ここでnum_subauthは保存済みのSDから直接取得されています。sub_auth[]配列はSID_MAX_SUB_AUTHORITIES(15)で固定されているため、悪意のある数値のnum_subauth(例:255など)を指定することで、認証済みクライアントによって完全に制御可能なオフセットを用いて約1KB分のヒープ領域に対する境界外読み取りが発生します。

関連する他の関数は既にこのフィールドに対してガード処理を行っています: parse_dacl() -- num_subauth == 0 || > SID_MAX_SUB_AUTHORITIES parse_sid() -- num_subauth > SID_MAX_SUB_AUTHORITIES smb_copy_sid() -- min_t(u8, num_subauth, SID_MAX_SUB_AUTHORITIES)

set_ntacl_dacl()は、このチェックを省略している唯一の矛盾した処理パスです。

parse_dacl()で既に適用されているガードと同じnum_subauth検証を、ACEコピー前のset_ntacl_dacl()に追加します。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

責任者

Linux

予約する

2026年07月30日

モデレーション

承諾済み

エントリ

VDB-387438

EPSS

0.00000

アクティビティ

非常低い

セクター

Energy, Police, ...

ソース

Might our Artificial Intelligence support you?

Check our Alexa App!