つみかさね
D

Docker v29.9.0

リリース日: 2026-10-10データソース: GitHub Releases, npm, endoflife.date
影響度スコア
55/ 100影響度: 中(HTTP/2関連のDoS脆弱性3件)
Breaking Changes0/40
新機能0/25
バグ修正10/20
セキュリティ15/15
依存関係10/15
DockerセキュリティCVEHTTP/2infra

30秒で判断

  • 対応すべき人: Docker Engineを運用しており、インターネットや信頼できないクライアントからのHTTP/2リクエストを受け付ける環境を利用している方。
  • 対応不要な人: Docker を使用していない方、HTTP/2経由の外部リクエストを受け付けない閉じた環境でのみ利用している方、すでに29.9.0以降を利用している方。
  • 確認コマンド: docker version --format '{{.Server.Version}}'(または docker --version)で現在のバージョンを確認。

この変更が意味すること

Docker 29.9.0 は、Goランタイムの更新によってDocker EngineのHTTP/2実装に起因する複数のセキュリティ脆弱性に対応した修正リリースです。新機能の追加や破壊的変更の記載はなく、既存の脆弱性を塞ぐことが目的です。

いずれもHTTP/2プロトコルの仕様を悪用し、デーモンのクラッシュやメモリ枯渇、フロー制御の回避を引き起こす内容で、HTTP/2リクエストを受け付けるDocker Engine環境ではDoS(サービス拒否)攻撃のリスクに関わります。

主な変更点

CVE-2026-97032: HPACKヘッダーテーブルサイズ変更によるクラッシュ

HTTP/2クライアントがリクエスト送信中にHPACKヘッダーテーブルサイズを変更することで、デーモンをクラッシュさせられる恐れがあります(golang/go#81867)。

CVE-2026-78659: Trailerヘッダーを利用したメモリ枯渇

Trailerヘッダーに大量のフィールドを指定することで、ヘッダーサイズ制限を回避してデーモンのメモリを枯渇させられる恐れがあります(golang/go#81857)。

CVE-2026-78663: ストリームリセットによるフロー制御の回避

ストリームのリセットを繰り返すことでコネクションレベルのフロー制御上限を回避し、デーモンに許容量以上のリクエストデータをバッファリングさせられる恐れがあります。詳細は公式リリースノートを参照してください。

EOL / サポート状況

バージョンステータスEOL
29active未定
28eol2026-05-13
27eol2025-05-03
26.1eol2025-02-17
26.0eol2024-06-08

28系以前はすでにEOLを迎えています。セキュリティ修正の提供対象である29系の最新パッチへの追従を推奨します。

開発者への影響

  1. インターネットや信頼できないクライアントからのHTTP/2リクエストを受け付けるDocker Engine環境は、DoS攻撃のリスクがあるため優先的に対応してください。
  2. CI/ビルドサーバーや本番ホストなど、Docker Engineが稼働するすべての環境でバージョンを確認しましょう。
  3. 破壊的変更の記載はないため、29系内であればアップグレードの負荷は小さい見込みです。

アップデート方法

# パッケージマネージャ経由の例(ディストリビューションにより異なります)
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli

# バージョン確認
docker version --format '{{.Server.Version}}'

アップデート後は、稼働中コンテナやHTTP/2経由の通信が正常に動作することを確認してください。本番ホストでは影響範囲を考慮し、計画的に適用しましょう。


データソース: GitHub Releases API, endoflife.date AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

export const impactScoreData = {
  "total": 55,
  "level": "medium",
  "label": "影響度: 中(HTTP/2関連のDoS脆弱性3件)",
  "factors": [
    {"name": "Breaking Changes", "score": 0, "maxScore": 40},
    {"name": "新機能", "score": 0, "maxScore": 25},
    {"name": "バグ修正", "score": 10, "maxScore": 20},
    {"name": "セキュリティ", "score": 15, "maxScore": 15},
    {"name": "依存関係", "score": 10, "maxScore": 15}
  ]
};

export const eolData = [
  {"range": "29", "status": "active", "eolDate": null},
  {"range": "28", "status": "eol", "eolDate": "2026-05-13"},
  {"range": "27", "status": "eol", "eolDate": "2025-05-03"},
  {"range": "26.1", "status": "eol", "eolDate": "2025-02-17"},
  {"range": "26.0", "status": "eol", "eolDate": "2024-06-08"}
];

export const breakingChangesData = {
  "count": 0,
  "items": []
};

export const updateAdviceData = {
  "rating": 4,
  "maxRating": 5,
  "label": "セキュリティ修正のため早めのアップデートを推奨",
  "shouldUpdate": [
    "インターネットや信頼できないクライアントからのHTTP/2リクエストを受け付けている",
    "本番環境でDocker Engineを運用している"
  ],
  "canWait": [
    "Dockerを使用していない",
    "HTTP/2経由の外部リクエストを受け付けない閉じた環境でのみ利用している"
  ]
};

export const versionNavData = {
  "previousVersion": null,
  "nextVersion": null
};

export const actionGuideData = {
  "evaluation": {
    "priority": "high",
    "actionRequired": "required"
  },
  "action": {
    "steps": [
      "テスト環境で29.9.0へのアップデートを検証する",
      "本番ホストに計画的に適用する",
      "稼働中コンテナとHTTP/2経由の通信の動作を確認する"
    ],
    "skipIf": [
      "Dockerを使用していない",
      "HTTP/2経由の外部リクエストを受け付けない閉じた環境でのみ利用している",
      "すでに29.9.0以降を利用している"
    ],
    "notes": ["インターネットや信頼できないクライアントからのHTTP/2リクエストを受け付ける環境は優先的に対応してください"]
  },
  "impact": {
    "targets": ["Docker Engine利用者"],
    "scope": "wide"
  },
  "changeCategory": "セキュリティ修正"
};

アップデート判断

★★★★★
セキュリティ修正のため早めのアップデートを推奨

アップデートすべき場合

  • ●インターネットや信頼できないクライアントからのHTTP/2リクエストを受け付けている
  • ●本番環境でDocker Engineを運用している

様子見でよい場合

  • ●Dockerを使用していない
  • ●HTTP/2経由の外部リクエストを受け付けない閉じた環境でのみ利用している

EOL / サポート状況

Docker 29Active
Docker 28End of LifeEOL: 2026-05-13
Docker 27End of LifeEOL: 2025-05-03
Docker 26.1End of LifeEOL: 2025-02-17
Docker 26.0End of LifeEOL: 2024-06-08
Xでシェアはてブ
データソース: GitHub Releases API, npm Registry, endoflife.date (MIT License), NVD (NIST)
AI解説は Claude API により自動生成されています。正確性については原文リリースノートをご確認ください。