JVNDB-2026-025998 | |
LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。ksmbd: smb_check_perm_dacl()における境界外読み取りの修正。smb_check_perm_dacl()内の権限チェック用ACEの処理では、ACEヘッダーのサイズを検証し、sid.num_subauthをSID_MAX_SUB_AUTHORITIESで制限しています。しかし、compare_sids()がそれを参照する前に、ace->sizeが実際にnum_subauth分のサブ権限を含むのに十分な大きさであるかどうかをチェックしていません。CIFS_SID_BASE_SIZEはsub_auth[]配列を除くSIDヘッダーの部分をカバーし、offsetof(struct smb_ace, sid)はACEヘッダーを指します。既存のガードは8バイトのSIDベース(つまりサブ権限が0個)を保証するのみです。compare_sids()はi < min(local_sid->num_subauth, ace->sid.num_subauth)の範囲でace->sid.sub_auth[i]を読み取ります。比較対象のローカルSID(sid_everyone、sid_unix_NFS_mode、id_to_sid()の結果)は少なくとも1つのサブ権限を持っています。また、攻撃者はACEのリビジョンと権限バイト(範囲内SIDベースに存在)を操作可能なため、それらのSIDのいずれかと一致させてsub_authの読み取りを強制できます。サイズが16でnum_subauthが1以上の細工されたACEをセキュリティディスクリプターの末尾に配置すると、pntsd割り当ての後ろ側に最大でSID_MAX_SUB_AUTHORITIES * sizeof(__le32)バイトのヒープ境界外読み取りが引き起こされます。セキュリティディスクリプターはksmbd_vfs_get_sd_xattr()によりオンディスクデータと同じ正確なサイズのバッファ(ndr_decode_v4_ntacl()内のkzalloc(sd_size))にロードされるため、この読み取りは割り当て範囲外へのアクセスとなります。破損したディスクリプターはSMB2_SET_INFOを通じてそのまま保存可能であり(DACLは書き込み前にセキュリティ.NTACL xattr内で正規化されません)、この読み取りは後続のSMB2_CREATEアクセスチェック時に発生し、ACL xattrを使用する共有に対する認証済みクライアントから利用される可能性があります。parse_dacl()およびsmb_inherit_dacl()という兄弟パーサーに既に存在する同一のガードを反映し、num_subauthとace_sizeに関する不足していたチェックを追加しました。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 8.1 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/19 |
| 登録日 | 2026/07/30 |
| 最終更新日 | 2026/07/30 |



