CVE-2025-32463 通过恶意 nsswitch.conf 结合 sudo -R 实现 Sudo 本地权限提升。受影响版本 1.9.14 – 1.9.17
Sudo 是类 Unix 系统上广泛使用的命令行工具,允许授权用户以提升的权限执行命令。它在贯彻最小权限原则和维护管理活动的安全审计追踪方面发挥着关键作用。
Stratascale 网络安全研究组 (CRU) 在 Sudo 中发现了两处本地权限提升漏洞,其中之一为 CVE-2025-32463。该漏洞影响 Sudo 1.9.14 至 1.9.17 版本,即使未为用户定义任何 sudo 规则,无特权的本地用户也能通过滥用 --chroot (-R) 选项获得 root 访问权限。
本仓库提供了 CRU 团队原始 Bash 漏洞利用的程序化 Python 概念验证 (PoC) 重实现。它展示了如何通过用户控制的 chroot 环境中的精心构造的 nsswitch.conf 文件,以 root 身份实现任意代码执行。
CVE ID: CVE-2025-32463
受影响软件: Sudo (版本 1.9.14 – 1.9.17)
漏洞特性: --chroot (-R) 选项
影响: 本地权限提升 (无特权 → root)
利用前提条件:
用户无需 sudo 权限
能够在受影响版本上运行 sudo -R
修复版本: Sudo 1.9.17p1
该漏洞源于 Sudo 在 chroot 环境中处理 nsswitch.conf 文件的方式。当使用 --chroot 选项调用时,Sudo 会执行多次 chroot() 调用,这些调用会触发 pivot_root(),进而从攻击者控制的路径加载 nsswitch.conf。
通过在 chroot 目录中放置带有自定义 NSS 源(例如 passwd: /woot1337)的恶意 nsswitch.conf 文件,并提供对应的恶意共享对象(libnss_/woot1337.so.2),攻击者可以诱使 Sudo 以 root 权限加载并执行任意代码。
git clone https://github.com/pevinkumar10/CVE-2025-32463
cd CVE-2025-32463
pip3 install -r requirements.txt
python3 exploit.py
此 Python 版本复制了 Stratascale CRU 团队 原始 Bash PoC 的逻辑。它创建了一个伪造的 root 环境,编译恶意 NSS 模块,设置利用条件,并调用 sudo -R 来触发漏洞。
该 Python 重实现:
自动化整个利用链路
提高了可移植性和可读性
保留了原始利用行为与影响
运行受影响的 Sudo 版本(1.9.14 - 1.9.17)的系统上的任何本地用户都可以获得 root 访问权限,而无需任何 sudoers 规则。这会影响默认的 Sudo 配置。
升级至 Sudo 1.9.17p1 或更高版本
避免使用已弃用的 --chroot 选项
审查 /etc/sudoers 和 /etc/sudoers.d 中是否存在 CHROOT= 或 runchroot= 指令
通过 syslog 或 journal 条目审核使用 CHROOT= 的 Sudo 命令日志文件
原始 Bash PoC: Stratascale 网络安全研究组 (CRU)
漏洞发现者: Rich Mirch (CRU)
维护者致谢: Todd C. Miller (Sudo 项目)
此 Python PoC 基于 MIT 许可证发布。 原始漏洞概念与披露归功于 Stratascale 网络安全研究组。