2026年3月3日、Pythonソフトウェア財団 (PSF) より、Pythonの各安定版ブランチに対する重要なセキュリティアップデートが公開されました。

今回リリースされたのは、Python 3.12.13、3.11.15、および 3.10.20 の3つのマイナーバージョンです。

これらのバージョンは現在、新機能の追加が行われない「セキュリティ修正専用モード (security-fix-only mode)」にあり、システムの安全性と信頼性を維持するために不可欠な修正が含まれています。

本記事では、今回のアップデートで修正された主な脆弱性とその詳細について解説します。

セキュリティアップデートの概要

今回のアップデートは、主に電子メール処理、Web通信、XML解析、およびリソース消費を悪用したサービス拒否 (DoS) 攻撃への対策を中心としています。

対象となっている Python 3.10、3.11、3.12 の各シリーズは、すでに安定稼働フェーズの終盤にあるため、今回のリリースはソースコードのみの提供となります。

インストーラー形式での提供はないため、利用者は各自でビルドを行うか、OSディストリビューション側でのパッケージ更新を待つ必要があります。

今回のリリースに含まれる主な修正バージョンは以下の通りです。

バージョンリリース種別主な対応内容
Python 3.12.13セキュリティ修正CVE-2024-6923, libexpat 2.7.4 への更新など
Python 3.11.15セキュリティ修正上記に加え、リスト操作に関するメモリ安全性の修正
Python 3.10.20セキュリティ修正上記に加え、リスト操作に関するメモリ安全性の修正

修正された主な脆弱性と改善点

電子メールおよびヘッダー処理の改善

電子メール関連のモジュールでは、ヘッダーインジェクション攻撃を防ぐための強化が行われました。

特に email.generator.BytesGenerator は、安全でない方法で折り返されたり区切られたりしたヘッダーのシリアル化を拒否するよう変更されました。

これは CVE-2024-6923 への直接的な対応を目的としています。

また、email.message において、従来の HTTP パラメータ解析の計算量を線形に抑える修正が施されました。

これにより、悪意のある長いパラメータを解析させることで CPU リソースを過剰に消費させる攻撃を回避できます。

Web 通信と URL 解析のセキュリティ強化

HTTP 通信に関連するライブラリにおいて、制御文字の混入を厳格に制限する修正が行われました。

  • wsgiref.headers.Headers:フィールド名や値に含まれる C0 制御文字を拒否。
  • http.cookies.Morsel:Cookie 内の制御文字を拒否し、セッションハイジャックや不適切なヘッダー操作のリスクを軽減。
  • data: URL:メディアタイプ内の制御文字を拒否。

XML 解析における重大な脆弱性修正

XML 処理の核となるライブラリである libexpat が、最新のバージョン 2.7.4 へアップグレードされました。

これにより、CVE-2026-24515 および CVE-2026-25210 という2つの重大な脆弱性が修正されています。

さらに、xml.parsers.expat にアロケーション・トラッカー API が追加されました。

これは悪意のある XML 入力によるメモリ増幅を制限するためのもので、CVE-2025-59375 に対する重要な緩和策となります。

サービス拒否 (DoS) への耐性向上

システムのリソースを枯渇させる攻撃に対する修正も、広範囲にわたって行われました。

  • plistlib および http.client におけるメモリ消費 DoS の修正。
  • os.path.expandvars() における計算量の問題 (2次多項式時間) を解消。
  • html.parser.HTMLParser の強化により、不正なマークアップの処理をより堅牢化。

開発環境の確認方法

自身の環境で利用している Python のバージョンを確認するには、以下のコマンドを実行します。

Shell
# Pythonのバージョンを確認
python --version

# または
python3 --version

出力結果が以下のように、今回リリースされた最新の修正バージョン(またはそれ以降)になっているか確認してください。

text
Python 3.12.13

もし、古いバージョンを利用しており、特に不特定多数からの入力を処理する Web サービスやメール処理システムを運用している場合は、速やかなアップデートが推奨されます。

まとめ

2026年3月のリリースにより、Python 3.10、3.11、3.12 の各シリーズはより安全なものとなりました。

今回のアップデートはセキュリティに特化した内容であり、特に Web サーバーや XML 処理を伴うアプリケーションにおいて非常に重要です。

これらのバージョンはすでに「ソースコードのみの提供」という段階に入っているため、利用者はパッケージ管理システムやビルド環境を適切に管理し、常に最新のセキュリティ修正を適用できる体制を整えておくことが求められます。

Python ソフトウェア財団は、すべての利用者に対して、影響を受けるバージョンからの早期の移行とアップグレードを強く推奨しています。