
在Linux权限管理领域,Sudo(超级用户执行)堪称守护神。作为root级访问的看门人,它掌控着系统最高权限的钥匙。但当这个守卫者被一个巧妙技巧欺骗时会发生什么?
Stratascale网络研究部门(CRU)的Rich Mirch发布的最新安全公告显示,Sudo中存在的两个高危漏洞CVE-2025-32463和CVE-2025-32462正是利用这种机制。这些潜伏在全球最受信任的命令提权工具中的缺陷,能让攻击者绕过配置保护措施,即使被明确拒绝访问也能将权限提升至root。
CVE-2025-32463(CVSS评分9.3):chroot隔离失效
受影响版本:Sudo 1.9.14至1.9.17全系列
有时我们筑起保护自己的围墙,反而成为攻击者的入口。CVE-2025-32463正是这样一个本地提权漏洞,它滥用了Sudo鲜为人知的--chroot(-R)选项。
公告警告称:"攻击者可利用sudo的-R(--chroot)选项以root身份执行任意命令,即使这些命令未列在sudoers文件中"。
问题的根源(双关语)在于Sudo从1.9.14版开始实现chroot()的方式。该工具开始在评估sudoers文件之前解析chroot环境中的路径。这意味着攻击者可以诱骗Sudo读取伪造的/etc/nsswitch.conf文件——该文件会指示加载恶意共享库如libnss_/woot1337.so.2。
结果?无需sudoers权限即可实现root级任意代码执行。
CRU提供的概念验证脚本(sudo-chwoot.sh)直观展示了攻击效果:
lowpriv@prod:~$ sudo -l
Matching Defaults entries for lowpriv on prod:
env_reset,
mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin,
use_pty,
runchroot=*
User lowpriv may run the following commands on prod:
(root) /bin/bash
lowpriv@prod:~$ sudo -R /web /bin/bash
bash-5.2#
转瞬间,低权限(lowpriv)用户就获得了高权限。
Sudo 1.9.17p1通过回退1.9.14版的修改并彻底弃用--chroot功能修复此问题。补丁移除了pivot_root()逻辑,使得在命令匹配期间无法调用chroot()。
CVE-2025-32462(CVSS评分2.8):不可信的主机参数
受影响版本:Sudo 1.8.8至1.9.17全系列
虽然不如chroot漏洞引人注目,但CVE-2025-32462同样危险——尤其在采用集中式sudoers文件管理多主机的企业环境中。
设计用于让用户查看其他主机权限的--host(-h)选项本不应支持命令执行。但由于存在12年的逻辑缺陷,它居然可以绕过限制。
CRU解释称:"该漏洞实际上使sudoers规则中的主机名部分失效,因为用户可以在评估规则时自行设置要使用的主机"。
以公告中的真实案例为例:
alice cerebus = ALL
此规则本应仅允许Alice在cerebus主机上执行命令。但利用该漏洞,Alice只需在sudo命令中添加-h cerebus参数,就能在任何主机上执行相同命令——即使当前主机明确拒绝其访问。
Sudo 1.9.17p1将--host选项严格限制为最初设计的功能:列出规则。现在若尝试将其用于其他操作,将触发用法错误提示。
漏洞共性特征
这两个漏洞都无需修改sudoers文件或获取管理员批准即可实现权限提升。公告总结指出:"由于这种行为,任何本地用户都可以诱骗Sudo加载任意共享对象,从而导致以root身份执行任意代码"。
参考来源:
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)



