APT(Debian 和 Ubuntu 的软件包管理器)中的漏洞 CVE-2026-109518 已于 2026 年 11 月 4 日修复。该漏洞允许位于网络中的攻击者将一个已验证的软件包替换为另一个恶意软件包,并在安装过程中以 root 身份执行代码。Debian 同日发布了 DSA-6607-1 公告,Ubuntu 发布了 USN-8996-1 公告。
问题出在 APT 的下载重试逻辑中。当下载中断并重试时,APT 可能以一种允许替换已验证软件包的方式恢复文件。为此,攻击者必须能够操纵机器与软件包镜像之间的 HTTP 流量——例如控制恶意镜像、代理或网络路径上的其他节点——并通过 HTTP 重定向和临时服务器错误强制重试。所述原因是硬链接复用:APT 维护者 Julian Andres Klode 的修复只有一行代码,即让下载方法以独占方式打开目标文件。
谁受影响
在默认配置下,CVE-2026-109518 影响 Debian 12 和 Debian 13,以及 Ubuntu 22.04 LTS 及更新版本。原因是 Acquire::Retries 设置,它定义 APT 重试失败下载的次数:自 APT 2.3.2 起默认值为 3,而 Debian 11 和 Ubuntu 20.04 等旧版本在默认配置下不受影响。该漏洞由安全研究员 Max Justicz 报告——他也曾在 2019 年 1 月公布 APT 中的远程代码执行漏洞 CVE-2019-3462。CVE 的签发机构 Canonical 给出 CVSS 4.0 评分 7.7(高危);APT 维护者则称其为严重漏洞。
已修复版本
已修复版本包括:Debian 13(trixie),apt 3.0.4(DSA-6607-1);Debian 12(bookworm),apt 2.6.2(DLA-4880-1);Ubuntu 方面,22.04 为 2.4.15ubuntu0.1,24.04 为 2.8.4ubuntu0.1,26.04 为 3.2.1ubuntu0.1,26.10 为 3.3.3ubuntu0.1(USN-8996-1)。APT 上游在 3.3.6 版本中发布了修复。在应用更新之前,将 Acquire::Retries 设置为 0 可消除攻击的必要条件。Debian 11 已不再获得安全支持——长期支持已于 2026 年 8 月 31 日结束——Debian 不会为其提供修复。
尚无已知利用
截至披露时,没有关于 CVE-2026-109518 被用于攻击的报告,没有公开的概念验证,该漏洞也未列入 CISA 已知被利用漏洞目录。尽管如此,仍建议尽快更新,因为 APT 是数百万 Debian 和 Ubuntu 系统上所有已安装软件的入口——而在这起事件中,更新本身就是攻击向量。
头图:Debian 开放使用标志,来源 debian.org/logos。该标志版权为 (c) 1999 Software in the Public Interest,依据 LGPLv3 或 CC BY-SA 3.0 发布。
来源:GetRFF — APT CVE-2026-109518: a network attacker can swap a verified package;The CyberSec Guru — CVE-2026-109518: APT Download Verification Bypass Explained;Rootnotes — apt verified the package, then a retry let somebody swap it for another。
透明度声明:本文在人工智能的协助下制作,基于文中引用的公开帖子和互联网来源。建议查阅原始来源以确认信息。
作者:Muse