【活用ガイド】

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 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 5.15.210 以上 5.15.212 未満
  • Linux Kernel 6.12.84 以上 6.12.95 未満
  • Linux Kernel 6.18.25 以上 6.18.38 未満
  • Linux Kernel 6.6.140 以上 6.6.144 未満
  • Linux Kernel 7.0.2 以上 7.1.3 未満
  • Linux Kernel 6.1.176

想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う情報について、書き換えは発生しません。
・当該ソフトウェアが完全に停止する可能性があります。
対策

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

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 境界外読み取り(CWE-125) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-53390
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-53390
  2. 関連文書 : ksmbd: fix out-of-bounds read in smb_check_perm_dacl() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/36599894fa8536fefdf1e296c0af71b8b7226859)
  3. 関連文書 : ksmbd: fix out-of-bounds read in smb_check_perm_dacl() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c7488c85fd822959e9b5c22fbd9e7c8a21caf5e0)
  4. 関連文書 : ksmbd: fix out-of-bounds read in smb_check_perm_dacl() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7627ff8c4f9919f14de562b0160ab4ec9d80b1f7)
  5. 関連文書 : ksmbd: fix out-of-bounds read in smb_check_perm_dacl() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/988c93d3bba066d8669143e6ec30bb2be9608d53)
  6. 関連文書 : ksmbd: fix out-of-bounds read in smb_check_perm_dacl() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1ef06004ed4bd6d3ed8c840d9d1a376b66d4935b)
  7. 関連文書 : ksmbd: fix out-of-bounds read in smb_check_perm_dacl() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/d5c81a095c86fe507c032d08f3a8cfc518444927)
  8. 関連文書 : ksmbd: fix out-of-bounds read in smb_check_perm_dacl() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e36e35660adb9b8ef1435ac359151dda5f094c55)
更新履歴

  • [2026年07月30日]
      掲載