sudo chroot 权限提升漏洞

漏洞信息

漏洞名称: sudo chroot 权限提升漏洞

漏洞编号:

  • CVE: CVE-2025-32463

漏洞类型: 权限提升

漏洞等级: 高危

漏洞描述: ### 受影响产品
sudo是一个在Unix和类Unix操作系统中广泛使用的程序,允许用户以其他用户(通常是超级用户)的安全权限运行程序。它是系统管理员和高级用户的常用工具,用于执行需要更高权限的任务。由于其普遍性和高权限特性,sudo中的漏洞可能对系统安全构成严重威胁。

漏洞解释

此漏洞为权限提升类型,存在于sudo的chroot功能中。具体来说,问题源于sudo v1.9.14版本中引入的chroot特性匹配处理代码的改动。在调用pivot_root()unpivot_root()函数时,会触发名称服务切换(NSS)操作,导致系统从不受信任的环境中加载/etc/nsswitch.conf配置文件。攻击者可以通过构造恶意的chroot环境,包含自定义的/etc/nsswitch.conf和恶意库文件,从而在sudo进程以root权限运行时加载并执行恶意代码。

影响分析

此漏洞允许攻击者在特定条件下提升权限至root,无需用户交互即可执行任意代码。由于sudo的广泛使用和其高权限特性,此漏洞对系统安全构成严重威胁。攻击者可以利用此漏洞完全控制系统,进行数据泄露、服务中断等恶意操作。漏洞的利用需要攻击者能够控制chroot环境,并在其中放置恶意文件,因此在某些配置下可能难以利用。然而,一旦条件满足,攻击者可以轻松实现权限提升,对系统安全造成严重影响。

产品名称: sudo

影响版本: 1.9.14

来源: https://github.com/SpongeBob-369/cve-2025-32463

类型: CVE-2025:github search

仓库文件

  • Dockerfile
  • README.md
  • image
  • run.sh
  • sudo-chroot.sh

来源概述

cve-2025-32463

chroot

sudo chroot <dir name> <command>

在选定的dir name中执行命令command

形成原理

这个问题是在 sudo v1.9.14引入的,这个版本升级了chroot特性被使用时的匹配处理代码

这一新的改动,使得执行命令chroot匹配前改变根目录的id。具体函数规定在plugins/sudoers/pivot.c中。这个文件(现已被删除)中定义了pivot_root()unpivot_root()函数用于处理chroot的匹配逻辑。调用这两个函数,将触发名称服务切换(NSS)操作,导致系统从不受信任的环境中加载/etc/nsswitch.conf配置文件(因为chroot已经改变到当前根目录的id了)。该配置文件包含指令,指示系统如何检索有关用户、组和主机的信息,其中可以列出多个来源,并按顺序搜索,直到找到匹配项。

由于/etc/nsswitch.conf 包含很多行条目,搜寻信息的时候会根据行条目的顺序进行查找。漏洞重要的点在于:对文件nsswitch.conf中进行源查找的时候,源名称会被用作共享对象路径的一部分,例如:ldap源转换为了libnss_ldap.so。当NSS函数使用ldap源的时候,就会加载该库。

对于攻击者,调用这pivot_root()unpivot_root()会触发NSS操作。所以攻击者就可以在可控路径下构造chroot根目录,其中包含/etc/nsswitch.conf文件以及恶意库文件。名称服务可以指向自定义的NSS模块,在这个模块中可以伪造恶意的共享库。

当攻击者运行sudo -R <fake_root_dir> <command>尝试以chroot模式执行命令,sudo尚未完全验证权限就调用了系统的NSS去解析用户/组信息,读取伪造的/etc/nsswitch.conf,指示恶意NSS模块。这个时候sudo进程已切换到了伪根目录,并且仍然以root权限运行,因此会以root权限加载并且执行攻击者的恶意共享库代码。

复现步骤

1
2
3
4
5
6
7
8
9
10
git clone https://github.com/Spongebob-369/cve-2025-32463.git

cd cve-2025-32463
chmod +x run.sh
./run.sh

## after entering the contain Ubuntu

./sudo-chroot.sh
id

sudo chroot 权限提升漏洞
http://example.com/2025/07/08/github_1382992875/
作者
lianccc
发布于
2025年7月8日
许可协议