VPS优惠推送
分享好玩教程

Debian apt 修复中间人换包漏洞(CVE-2026-109518):升级到 apt 3.0.4

2026 年 11 月 4 日,Debian 发布安全公告 DSA-6607-1,修复 apt 包管理器中的 CVE-2026-109518:攻击者处在网络中间人位置时,可以在 apt 完成签名校验之后替换软件包,最终以 root 权限执行任意代码。

这篇文章记录两件事:这个漏洞怎么回事,以及 Debian 12 / 13 上怎么升级和验证。

1、漏洞是什么

公告原文的关键描述是:apt 会在 HTTP 重定向把两个不同软件包的下载指向同一个 URI 之后把它们合并;恢复 HTTP 下载时的文件处理不当,让中间人可以在验证完成后替换软件包,导致以 root 执行任意代码。

要点是「验签没被攻破」:apt 的签名校验照常工作,问题出在验签完成之后、安装之前这段窗口里,磁盘上的文件能被换掉。

1.1 攻击路径的四步

  • 重定向:两个不同软件包的下载被 HTTP 重定向到同一个 URI;
  • 合并:apt 按最终 URI 识别下载,把它们当成同一个文件,续传时追加或合并内容;
  • 续传:恢复一次中断的 HTTP 下载,触发文件处理缺陷;
  • 换包:验签完成后替换文件,安装阶段以 root 执行。

1.2 和 2019 年那个漏洞的关系

2019 年 1 月,同一个发现者 Max Justicz 报过 CVE-2019-3462:apt 通过 HTTP 下载时中间人可以注入内容,同样 root 执行,当时修复在 apt 1.4.9。这次换成了「重定向 + 续传」入口,但都在 apt 的 HTTP 下载与文件落盘逻辑里。

2、影响范围

按 Debian 安全跟踪页 11 月 4 日的记录:

  • Debian 12 bookworm:apt 2.6.1 受影响,2.6.2 修复(DLA-4880-1);
  • Debian 13 trixie:apt 3.0.3 受影响,3.0.4 修复(DSA-6607-1);
  • forky / sid:3.3.5 当时仍标记为受影响,以跟踪页最新状态为准;
  • 同一次更新还修了 apt 里几个越界访问问题,与本漏洞相互独立。

Exploit 需要两个条件:网络中间人位置(公共 Wi-Fi、不受信任网络里成本最低),以及触发一次续传下载。不是每次连接都能成,但攻击者可以反复等。

3、怎么修

3.1 先看当前版本

apt --version

输出首行类似 apt 3.0.3 (amd64)。Debian 13 上看到 3.0.3 就是受影响版本,Debian 12 上看到 2.6.1 同理。

3.2 更新软件源并升级

sudo apt update
sudo apt upgrade

只想动 apt 本身、不升其它包:

sudo apt install --only-upgrade apt libapt-pkg7.0 apt-utils

Debian 12 的包名是 libapt-pkg6.0t64,用上面这条命令时把库名换掉即可,或者直接 apt install --only-upgrade apt,让依赖自行处理。

3.3 验证

apt --version
dpkg -l apt | tail -2

Debian 13 显示 3.0.4、Debian 12 显示 2.6.2 就算修上了。也可以直接查候选版本:

apt-cache policy apt

如果 Candidate 已经是修复版但 Installed 还是旧版,说明只是没升级,再跑一次 upgrade 即可。

4、几个容易忽略的点

  • apt 和 apt-get 共用同一套下载逻辑,只用 apt-get 不会绕开这个漏洞;
  • 容器和镜像要重建:升级宿主机不会改到镜像里的 apt,Dockerfile 里该跑一次 apt-get update && apt-get upgrade 或换基础镜像;
  • 自动安全更新有延迟:unattended-upgrades 一般每天跑一次,公告当天发出的更新往往要等下一个周期,急的话手动升;
  • 其它发行版不通用:Debian 公告只覆盖 Debian,Ubuntu 等衍生版看各自的安全公告;
  • 升级 apt 不需要重启,也不影响正在运行的服务;涉及内核的更新才需要安排重启。

5、这次事件的时间线

  • 2026-11-04 12:07 UTC:Debian 安全公告 DSA-6607-1 签发(Salvatore Bonaccorso),公布 CVE 与修复版本;
  • 2026-11-04 13:00 CET:apt 维护者 Julian Andres Klode 在 deity 邮件列表发出「APT-2026-11-01 security update」;
  • 同期:Debian 12 走 LTS 通道,公告号 DLA-4880-1;
  • 截至写稿时:没有公开的在野利用报道。

参考:DSA-6607-1 原文 · Debian 安全跟踪页 · CVE-2019-3462(2019 年同类漏洞)。

赞(0)
未经允许不得转载:F12笔记 » Debian apt 修复中间人换包漏洞(CVE-2026-109518):升级到 apt 3.0.4

评论 抢沙发