漏洞攻击
近期,Qualys威胁研究团队披露了一个高危本地权限提升(LPE)漏洞,该漏洞影响Ubuntu桌面版24.04及后续版本,在默认安装环境下即可被利用。这个漏洞被标识为CVE-2026-3888,它允许非特权的本地攻击者通过两个标准系统组件——snap-confine和systemd-tmpfiles——的交互,将权限提升至完全的root级别。
虽然漏洞利用存在一个特定的时间窗口(通常为10到30天),但一旦成功,后果将是完全攻陷主机系统。
该漏洞根源在于两个特权实用程序之间意外的交互行为:
- snap-confine:负责管理snap应用程序的执行环境(以setuid-root或设置能力的方式运行)。
- systemd-tmpfiles:用于自动清理超过指定存在时间的临时文件和目录。
此外,在Ubuntu 25.10的发布前审查中,通过与Ubuntu安全团队的积极合作,Qualys还在uutils coreutils软件包中发现并协助修复了一个独立的漏洞;相关细节将在下文说明。
CVE-2026-3888的攻击面
snapd是Ubuntu上管理整个Snap生态系统的后台服务。它负责snap软件包的发现、安装、更新和移除。snap是一种自包含的应用程序打包格式,旨在解决依赖冲突,并为开发者提供跨版本的统一发布目标。同时,snapd还强制执行权限模型,控制每个snap可以访问哪些主机资源,因此它兼具软件包管理器和安全策略引擎的双重角色。
理解snapd至关重要,因为漏洞涉及的两个组件snap-confine和systemd-tmpfiles都在此框架内运行或与之紧密协作。
- snap-confine:这是一个以setuid root权限运行的二进制文件,其任务是在snap应用启动前构建沙箱环境。它负责挂载命名空间隔离、cgroup强制、AppArmor策略加载和seccomp过滤——这一整套隔离堆栈旨在防止snap应用越界。由于它以高权限运行并为普通用户设置内核级隔离,因此它处于关键的信任边界。此类组件中的漏洞极易导致权限提升。
- systemd-tmpfiles:它管理着如
/tmp、/run和/var/tmp等易失性目录的生命周期,包括在系统启动时创建它们并设置正确权限,以及定期清理过期文件。其配置规则存放在/etc/tmpfiles.d/、/run/tmpfiles.d/和/usr/lib/tmpfiles.d/目录下。配置不当的tmpfiles规则可能开启本地权限提升的路径,引发符号链接竞争等问题。
利用机制
CVE-2026-3888的CVSS v3.1评分为7.8(高危),攻击向量为AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H。这表明它是一个高复杂度的本地攻击,所需权限较低且无需用户交互。“影响范围改变(S:C)”意味着成功利用可能影响到漏洞组件之外的资源,对机密性、完整性和可用性造成全面冲击。
尽管评分显示其严重性为高,但攻击链中存在固有的时间延迟,使得利用复杂度较高。在默认配置下,systemd-tmpfiles会定期清理/tmp目录中的过期内容。攻击者可以通过操纵清理周期的时间来利用此漏洞。具体攻击链如下:
- 攻击者需要等待系统的清理守护进程删除snap-confine所需的关键目录(在Ubuntu 24.04中为30天;更高版本中为10天)。
- 一旦该目录被删除,攻击者便用恶意负载重新创建它。
- 在下一次沙箱初始化时,snap-confine会将这些文件以root身份进行绑定挂载,从而允许在特权上下文中执行任意代码。
受影响版本及修复方案
以下存在漏洞的snapd软件包版本应立即升级至已修复版本:
- Ubuntu 24.04 LTS:snapd版本低于
2.73+ubuntu24.04.2
- Ubuntu 25.10 LTS:snapd版本低于
2.73+ubuntu25.10.1
- Ubuntu 26.04 LTS(开发版):snapd版本低于
2.74.1+ubuntu26.04.1
- 上游snapd:2.75之前的版本
对于旧版系统(16.04–22.04 LTS),虽然在默认配置下不易受此漏洞影响,但仍建议应用补丁。这是一种预防措施,旨在降低非默认配置可能引入的风险。
运行Ubuntu Desktop 24.04或更新版本的组织应立刻部署这些补丁。
技术细节
关于此漏洞的深入技术分析,可以参考Qualys发布的完整报告:
https://cdn2.qualys.com/advisory/2026/03/17/snap-confine-systemd-tmpfiles.txt
次要发现:Ubuntu 25.10 uutils Coreutils中的漏洞
在Ubuntu Desktop 25.10正式发布之前,Qualys威胁研究部门主动协助Ubuntu安全团队审查了uutils coreutils软件包(这是GNU核心工具集的Rust重写版本)。
其中,rm工具存在一个竞争条件,允许非特权本地攻击者在root用户执行cron任务期间(特别是/etc/cron.daily/apport)将目录条目替换为符号链接。成功利用可能导致以root身份任意删除文件,或者通过攻击snap沙箱目录进一步实现权限提升。
该漏洞在Ubuntu 25.10发布前已被报告并修复。作为临时缓解措施,Ubuntu 25.10中的默认rm命令已回退至GNU coreutils。后续,修复程序也已应用于上游的uutils代码库。
对于系统管理员和开发者而言,及时了解此类systemd-tmpfiles等底层组件的安全动态至关重要。如果你想深入探讨Linux系统安全或容器隔离技术,欢迎在云栈社区与更多同行交流。