
漏洞概述
Ubuntu Desktop 24.04 及后续版本默认安装中存在本地提权(LPE)漏洞(CVE-2026-3888),允许非特权本地攻击者获取完整 root 权限。该漏洞由 Qualys 威胁研究团队发现,源于 snap-confine 与 systemd-tmpfiles 两个标准系统组件间的非预期交互,由于这两个组件深度集成于 Ubuntu 默认部署中,使得该漏洞尤为危险。
技术背景
snapd 是 Ubuntu 的后台服务,用于管理 snap 软件包(包含自身依赖的独立应用包)。除软件包管理外,snapd 还负责执行权限模型,控制每个 snap 对主机的访问范围,使其兼具软件包管理器与安全策略引擎双重功能。
漏洞核心涉及两个组件:
- snap-confine:setuid root 二进制文件,负责在应用执行前构建 snap 沙盒。它处理挂载命名空间隔离、cgroup 强制、AppArmor 策略加载和 seccomp 过滤等完整隔离机制。
- systemd-tmpfiles:管理
/tmp、/run和/var/tmp等易失性目录,在启动时创建这些目录并定时清理过期文件。该工具的配置错误或可预测的清理周期可能引发符号链接竞争条件,形成本地提权路径。
漏洞利用分析
CVE-2026-3888 CVSS v3.1 评分为 7.8(高危),攻击向量为 AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H。攻击需本地访问和低权限,无需用户交互,且影响范围超出漏洞组件本身,对机密性、完整性和可用性均造成高度影响。
高攻击复杂度源于漏洞利用链中的时间延迟机制:systemd-tmpfiles 默认会定期清理 /tmp 目录(Ubuntu 24.04 为 30 天,后续版本为 10 天)。攻击分三个阶段:
- 攻击者等待清理守护进程删除 snap-confine 沙盒初始化使用的关键目录
/tmp/.snap - 目录被删除后,攻击者重建
/tmp/.snap并植入恶意载荷 - 下次沙盒初始化时,snap-confine 会以 root 权限绑定挂载这些文件,实现特权上下文下的任意代码执行
修复建议
企业应立即升级 snapd 至以下修补版本:
| Ubuntu 版本 | 受影响 snapd 版本 | 已修复版本 |
|---|---|---|
| Ubuntu 24.04 LTS | 早于 2.73+ubuntu24.04.1 | 2.73+ubuntu24.04.1 |
| Ubuntu 25.10 | 早于 2.73+ubuntu25.10.1 | 2.73+ubuntu25.10.1 |
| Ubuntu 26.04 LTS(开发版) | 早于 2.74.1+ubuntu26.04.1 | 2.74.1+ubuntu26.04.1 |
| 上游 snapd | 早于 2.75 | 2.75 |
默认配置下的 Ubuntu 16.04-22.04 LTS 系统不受影响,但 Qualys 建议非标准配置环境仍应作为预防措施安装补丁。
相关发现
在 Ubuntu 25.10 发布前的安全审查中,Qualys TRU 还在 uutils coreutils 包(GNU 工具的 Rust 重写版)中发现竞争条件漏洞。该漏洞存在于 rm 工具中,允许非特权本地攻击者在 root 拥有的 cron 执行期间(特别是针对 /etc/cron.daily/apport)用符号链接替换目录条目,可能导致 root 权限的任意文件删除或通过攻击 snap 沙盒目录进一步提权。Ubuntu 安全团队在公开发布前通过将 Ubuntu 25.10 的默认 rm 命令恢复为 GNU coreutils 缓解了风险,上游修复已应用于 uutils 代码库。
参考来源:
Ubuntu Desktop Systems Vulnerability Enables Attackers to Gain Full Root Access
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


