テック技報最新号へ →
セキュリティ

APT の HTTP 再試行穴(CVE-2026-109518):更新中は Acquire::Retries=0、できれば HTTPS

Debian/Ubuntu の APT に、HTTP 経路の改ざんで署名済みパッケージを差し替え root でスクリプトを実行させられる欠陥がある。修正版へ上げるときだけでも Acquire::Retries=0 を付け、可能ならアーカイブ URL を HTTPS にする。

@MalwareBibleJP · 2026-11-07
#apt#debian#ubuntu#supply-chain#cve#package-manager

いつ使うか

  • Debian 12 以降、Ubuntu 22.04 LTS 以降(既定で Acquire::Retries が 3)で apt/apt-get/aptitude や APT を使う GUI を使っているとき
  • 社内プロキシーやミラー経由で HTTP のままパッケージを取っているとき

何が起きるか

  1. HTTP リダイレクトで同じ URI になった 2 件のダウンロードを APT が統合する動作と、再試行時のハードリンク扱いの不備が重なる。
  2. 経路上の攻撃者や悪意あるミラーが、署名検証を済ませたあとにパッケージを差し替え、インストール時のスクリプトを root で実行させられる。
  3. 成立の条件はおおむね「.deb のインストール」「リダイレクトの追従」「Acquire::Retries が 0 以外」。「再試行しない」設定ならこの経路では成立しない。snap は対象外。

対応

  1. 影響版か確認する。
    apt list --installed '?source-package(^apt$)'
  2. 更新そのものを取る間は再試行を止める(Ubuntu の案内)。
    sudo apt update && sudo apt upgrade -o Acquire::Retries=0

    APT 本体だけなら:

    sudo apt update && sudo apt install -o Acquire::Retries=0 --only-upgrade '?source-package(^apt$)'
  3. 修正版の目安(一次情報で再確認すること):
    • Debian: bookworm 2.6.2/trixie 3.0.4/forky・sid 3.3.6 以降
    • 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(20.04 以前は Ubuntu Pro/ESM)
  4. 経路に懸念がある間は、Ubuntu アーカイブの http:// を https:// に切り替える(コミュニティミラーの一部は HTTPS 非対応なので apt update で確認)。

注意

  • TLS は経路改ざんへの緩和であり、長期の本対策は APT の修正版適用。アーカイブ署名はその後も別レイヤーの防御として残る。
  • unattended-upgrades が有効ならセキュリティ更新は自動で入るが、初回の修正を取る前に経路を信用できないなら、手動で Acquire::Retries=0 付き更新を先に行う。

出典

X の元の投稿を開く