Ubuntu 24.04 手动修复 Sudo 本地提权漏洞 (CVE-2025-32462 / CVE-2025-32463)
系统环境: Ubuntu 24.04 LTS (Noble)
原版本: Sudo 1.9.15p5 (受漏洞影响)
修复版本: Sudo 1.9.17p1
修复时间: 2026-05-05
漏洞概述
2025 年 Q2 季度,安全研究员 Rich Mirch (Stratascale Cyber Research Unit) 在 sudo 中发现两个本地提权漏洞:
| CVE | 影响版本 | 漏洞描述 | 危害等级 |
|---|---|---|---|
| CVE-2025-32462 | 1.8.8 - 1.9.17 | -h / --host 选项绕过主机限制,匹配任意 sudoers 规则执行 root 命令 | 高危 |
| CVE-2025-32463 | 1.9.14 - 1.9.17 | -R / --chroot 选项在 chroot 目录内加载伪造 /etc/nsswitch.conf 指向恶意共享库,无需 sudoers 条目 即可提权 | 严重 |
修复版本: sudo 1.9.17p1
系统检测
1. 检查当前 sudo 版本
$ sudo -V | head -1
Sudo version 1.9.15p5
确认系统版本 1.9.15p5 同时受两个漏洞影响。
2. 检查日志中的利用痕迹
# 检查 auth.log 中的可疑 sudo 调用
grep -E "\-h\s+\w+|\-R\s+" /var/log/auth.log 2>/dev/null
grep -E "\-h\s+\w+|\-R\s+" /var/log/auth.log.* 2>/dev/null
# 检查 syslog
zgrep -i "CVE-2025-3246\|chroot\|\-h\s+\w+" /var/log/syslog*.gz 2>/dev/null
结果: 未发现漏洞利用迹象。
3. 检查仓库可用更新
$ apt-cache policy sudo
sudo:
Installed: 1.9.15p5-3ubuntu5.24.04.2
Candidate: 1.9.15p5-3ubuntu5.24.04.2
Ubuntu 官方仓库尚未推送修复版本,需要手动从源码编译安装。
修复过程
步骤 1: 安装编译依赖
apt-get update
apt-get install -y libpam0g-dev libaudit-dev
步骤 2: 下载修复版本源码
cd /tmp
wget https://www.sudo.ws/dist/sudo-1.9.17p1.tar.gz
tar xzf sudo-1.9.17p1.tar.gz
cd sudo-1.9.17p1
步骤 3: 编译配置
./configure \
--prefix=/usr \
--libexecdir=/usr/lib \
--with-rundir=/run/sudo \
--with-vardir=/var/lib/sudo \
--with-logfac=auth \
--with-pam \
--with-linux-audit
配置参数说明:
--prefix=/usr: 安装路径与系统包管理一致--with-pam: 启用 PAM 认证(Ubuntu 默认)--with-linux-audit: 启用 Linux 审计支持--with-logfac=auth: 日志写入 auth 设施
步骤 4: 编译并安装
# 并行编译
make -j$(nproc)
# 安装(覆盖系统版本)
make install
步骤 5: 验证安装
# 确认版本
$ sudo -V | head -1
Sudo version 1.9.17p1
# 验证配置文件兼容性
$ sudo visudo -c
/etc/sudoers: parsed OK
/etc/sudoers.d/90-cloud-init-users: parsed OK
/etc/sudoers.d/README: parsed OK
修复结果
| 检查项 | 状态 |
|---|---|
| sudo 版本升级 | ✅ 1.9.15p5 → 1.9.17p1 |
| CVE-2025-32462 修复 | ✅ -h 选项绕过已修复 |
| CVE-2025-32463 修复 | ✅ -R chroot 恶意库加载已修复 |
| 配置文件兼容性 | ✅ /etc/sudoers 解析正常 |
| 系统重启要求 | ❌ 不需要重启 |
| 服务重启要求 | ❌ 不需要重启任何服务 |
安全建议
1. 临时缓解措施(升级前)
如果暂时无法升级,可在 /etc/sudoers 中禁用危险选项:
# 禁用 -h / --host 选项
Cmnd_Alias NOHOST = /usr/bin/sudo -h *, /usr/bin/sudo --host *
ALL ALL=(ALL) !NOHOST
# 禁用 -R / --chroot 选项
Cmnd_Alias NOCHROOT = /usr/bin/sudo -R *, /usr/bin/sudo --chroot *
ALL ALL=(ALL) !NOCHROOT
2. 监控建议
# 监控 auth.log 中的可疑 sudo 调用
grep -E "\-h\s+\w+" /var/log/auth.log
grep -E "\-R\s+" /var/log/auth.log
3. 后续维护
- 关注 Ubuntu 官方安全公告,等仓库推送
1.9.17p1后可切回包管理版本 - 定期检查
apt list --upgradable | grep sudo
参考链接
- CVE-2025-32462 公告: https://www.stratascale.com/vulnerability-alert-CVE-2025-32462-sudo-host
- CVE-2025-32463 公告: https://www.stratascale.com/vulnerability-alert-CVE-2025-32463-sudo-chroot
- oss-sec 邮件列表: https://seclists.org/oss-sec/2025/q2/287
- Sudo 官方下载: https://www.sudo.ws/dist/
⚠️ 免责声明: 本文仅供安全研究和系统加固参考。生产环境操作前请在测试环境验证,并确保有系统备份。