关键 Sudo 漏洞(CVE-2025-32463,CVSS 9.3):可实现本地提权与主机访问绕过,已有 PoC 公布

阅读量10463

发布时间 : 2025-07-01 14:46:41

x
译文声明

本文是翻译文章,文章原作者 Ddos,文章来源: securityonline

原文地址:https://securityonline.info/critical-sudo-flaws-cve-2025-32463-cvss-9-3-root-privilege-escalation-host-bypass-poc-available/

译文仅供参考,具体内容表达以及含义原文为准。

 

在 Linux 权限管理的世界里,Sudo 一直被视为“王者”——它是权限的守门员、根用户的看门人、系统的最后一道防线。但如果这位“守门人”被一个巧妙的技巧绕过,把钥匙交给了不该进入的人,会发生什么?

根据 Stratascale 网络研究单位(CRU)研究员 Rich Mirch 最新发布的安全通告,Sudo 中存在两个严重漏洞CVE-2025-32463CVE-2025-32462。这些漏洞长期潜伏在这个世界上最值得信赖的提权工具中,允许攻击者绕过 sudoers 配置限制,实现本地提权至 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 引导至 chroot 目录中的伪造配置文件,如伪造的 /etc/nsswitch.conf,从而指示系统加载恶意共享库,例如 libnss_/woot1337.so.2

最终效果是:无需 sudoers 权限,攻击者即可以 root 权限执行任意代码。

CRU 也发布了对应的漏洞验证脚本(PoC),名为 sudo-chwoot.sh,完整复现了这一漏洞利用过程。

CRU 的概念验证 (sudo-chwoot.sh) 清楚地说明了这一点:

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#

正是这样 —— 低权限用户,一跃变身高权限用户。

为了解决这个问题,Sudo 1.9.17p1 版本已正式回滚了 1.9.14 引入的相关更改,并完全废弃了 --chroot 功能。补丁移除了 pivot_root() 的相关逻辑,从根本上杜绝了在命令匹配过程中调用 chroot() 的可能性。

 

CVE-2025-32462(CVSS 评分:2.8)——不可信的远程主机

受影响版本:Sudo 1.8.8 至 1.9.17(含)

虽然 CVE-2025-32462 相较于 chroot 漏洞看起来不那么“炫技”,但在企业环境中,它的威胁却丝毫不亚于前者——尤其是在大量服务器共用集中式 sudoers 配置的场景下。

这个漏洞与 --host 参数(简写为 -h)有关,该参数的设计初衷是让用户查看其他主机上自己拥有的权限而不是执行命令。然而,由于一个长达 12 年的逻辑漏洞,攻击者可以滥用该参数,在本地主机上伪装成其他主机的访问者,从而绕过主机名的限制逻辑。

CRU 在通告中指出:“这个漏洞实际上使得 sudoers 配置中对主机名的限制形同虚设,因为攻击者可以自己设置 sudo 在规则评估时使用的主机名。”

通告中给出了一个实际案例:

alice cerebus = ALL

根据 sudoers 规则,“alice” 只有在主机 cerebus 上才能拥有所有权限。

但借助这个漏洞,攻击者可以在任意主机上伪装主机名为 cerebus,从而绕过访问控制,获取本不属于当前主机的 sudo 权限

从 Sudo 1.9.17p1 版本开始,--host 参数终于被限制回其最初的用途:仅用于列出权限规则。尝试将其用于其他操作会直接报错,这也是它本应有的行为。

在这两个漏洞中,攻击者无需修改 sudoers 文件或获得管理员许可,就能实现权限提升。

正如安全通告总结:“正因为该行为,任何本地用户都可以诱使 Sudo 加载任意共享库,从而导致以 root 身份执行任意代码。”

本文翻译自 securityonline 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66