【活用ガイド】

JVNDB-2026-032189

LinuxのLinux Kernelにおける不特定の脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。ksmbd: SMB2 SET_INFO SECURITYにWRITE_DACおよびWRITE_OWNERチェックを追加しました。コミットcc57232cae23("ksmbd: fix FSCTL permission bypass by adding a permission check for FSCTL_SET_SPARSE")では、fsctl_set_sparseにfp->daccessゲートを追加し、「類似のハンドルレベルのチェックは他の関数に存在するが、ここでは欠如している」と指摘されています。SMB2 SET_INFO SECURITYの部分はその欠如している一つであり、最もセキュリティに関連が高い部分です。smb2_set_info_sec()関数はハンドルごとのアクセスチェックを行わずにset_info_sec()を呼び出していました。set_info_sec()(fs/smb/server/smbacl.c)はファイルの権限を再設定します。notify_change()を通じて所有者・グループ・モードを書き換え、set_posix_acl()でPOSIX ACLを再設定し、KSMBD_SHARE_FLAG_ACL_XATTR共有上ではksmbd_vfs_set_sd_xattr()によってWindowsのセキュリティ記述子を削除・再設定します。兄弟ハンドラであるsmb2_set_info_file()の他の永続的な変更を行う部分はいずれも先にfp->daccessの確認を行っています(FILE_WRITE_DATA / FILE_DELETE / FILE_WRITE_EA / FILE_WRITE_ATTRIBUTES)。しかし、アクセス制御自体を変更するSECURITY部分のみがゲートチェックを持っていませんでした。そのためクライアントはFILE_WRITE_ATTRIBUTESのみ(FILE_WRITE_DACやFILE_WRITE_OWNERは含まない)でハンドルを開き、SMB2_SET_INFOでInfoTypeとしてSMB2_O_INFO_SECURITYを使うことで、ファイルのDACLと所有者を上書きし、自身にハンドルのdaccessに存在しなかったアクセス権を付与することが可能でした。FSCTLのデータ操作部とは異なり、これはメタデータやxattrの操作であるため、FMODE_WRITEによるVFSのバックストップは存在せず、欠如していたfp->daccessチェックのみが唯一のゲートとなっていました。セキュリティ記述子の設定はWRITE_DACおよびWRITE_OWNER操作に該当するため、ファイルの権限を書き換える前にハンドルにこれらいずれかの権限があることを要求するようにしました。-EACCESはsmb2_set_info()によってSTATUS_ACCESS_DENIEDにマッピングされます。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 8.8 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 5.15 以上 6.1.178 未満
  • Linux Kernel 6.13 以上 6.18.39 未満
  • Linux Kernel 6.19 以上 7.1.4 未満
  • Linux Kernel 6.2 以上 6.6.145 未満
  • Linux Kernel 6.7 以上 6.12.96 未満

想定される影響

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

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

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

  1. 情報不足(CWE-noinfo) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-64394
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-64394
  2. 関連文書 : ksmbd: add a WRITE_DAC/WRITE_OWNER check to SMB2 SET_INFO SECURITY - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/44df157a1183a7f746caa970c169255da5ac61f8)
  3. 関連文書 : ksmbd: add a WRITE_DAC/WRITE_OWNER check to SMB2 SET_INFO SECURITY - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e6aa731f1b4b3e08caebf66a99f04b22bdab2e99)
  4. 関連文書 : ksmbd: add a WRITE_DAC/WRITE_OWNER check to SMB2 SET_INFO SECURITY - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9ab2ffd3ed3d4ca1667c52de27026ddabc11e537)
  5. 関連文書 : ksmbd: add a WRITE_DAC/WRITE_OWNER check to SMB2 SET_INFO SECURITY - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/aae600cdaffc6d9ce97645f129799a103a97d06d)
  6. 関連文書 : ksmbd: add a WRITE_DAC/WRITE_OWNER check to SMB2 SET_INFO SECURITY - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/0848b1d8b403f530878195dcbe241a2fddb9d0e1)
  7. 関連文書 : ksmbd: add a WRITE_DAC/WRITE_OWNER check to SMB2 SET_INFO SECURITY - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f56535db508ead8dec1c481ad93d7d8acd8f8f1e)
更新履歴

  • [2026年09月07日]
      掲載