Python 3.10がサポート終了、5つのリリースで8件のCVEを修正
Python 3.10.22が3.10の最後のリリースです。Python(パイソン)3.10は2026年10月1日にサポート終了を迎え、3.11から3.14には最大8件のCVEの修正が届きました。
4 分で読めます

数字で見る
- CVEs fixed across the five releases
- 8
- of them in the tarfile module
- 3
- end of support for Python 3.11
- Oct 2027
- end of support for Python 3.12
- Oct 2028
Python 3.10は、公開から5年後の2026年10月1日にサポート終了(end of life)を迎えました。最後の更新となるPython 3.10.22は、3.11.17、3.12.15、3.13.16、3.14.8と同時に公開されました。これらを合わせて、8件のセキュリティ上の欠陥が修正されます。3.10を使い続けている人には、今後はセキュリティバグを含め、一切の修正が届きません。
同じリリースで、Python 3.13はセキュリティ修正のみの段階に移りました。Python 3.14は、今回のリリースの中で最も新しいブランチです。
3.10にとってサポート終了が意味すること
「サポート終了」とは、Pythonのコアチームがそのバージョンの保守をやめることです。新しいセキュリティホールが見つかっても、そのバージョン向けのリリースはもう出ません。Python Insiderでのリリース告知は、その節目を率直にこう記しています。「これはPython 3.10のリングダウンです。リリースの仕組みの電源を切る前の、最後のリリースです」。
Linux Compatibleによると、3.10と3.11のリリース系列を管理したのはPablo Galindo Salgadoです。別れのあいさつは、Python 3.10が「シュヴァルツシルト・ブラックホールの内部への旅とともに」始まったことを振り返り、終わりもまたブラックホールで締めくくっています。ほかのリリースマネージャーであるThomas WoutersとHugo van Kemenadeも、告知に名を連ねました。
リリース告知によると、サポート対象の各ブランチの現状は次のとおりです。
| バージョン | 今回のリリース | 状態 | サポート終了日 |
|---|---|---|---|
| 3.10 | 3.10.22 | サポート終了 | 2026年10月1日 |
| 3.11 | 3.11.17 | セキュリティ修正のみ | 2027年10月 |
| 3.12 | 3.12.15 | セキュリティ修正のみ | 2028年10月 |
| 3.13 | 3.13.16 | 今回からセキュリティ修正のみ | 今回のリリースでは明記なし |
| 3.14 | 3.14.8 | 最新ブランチ | 今回のリリースでは明記なし |
告知によると、3.13.16は「3.13の最後の完全なメンテナンスリリースであり、今後の3.13のリリースにはセキュリティ修正のみが含まれます」。
8件のセキュリティ修正
CVEとは、既知のセキュリティ上の欠陥に付けられる公開の識別番号です。リリース告知には8件が挙げられています。いずれもすべてのリリースに含まれます。ただし、CVE-2026-87910は3.14には該当しません。
| CVE | モジュール | 修正の内容 |
|---|---|---|
| CVE-2026-19553 | ssl | SSLContext.wrap_bio()が、引数のserver_side、server_hostname、sessionをチェックするようになった |
| CVE-2026-82049 | tarfile | シンボリックリンクへのハードリンクによって、展開先フォルダーの外にあるファイルを露出させうる展開フィルターの穴をふさぐ |
| CVE-2026-15310 | zipfile | 1回の読み込みで展開するbzip2とLZMAのデータ量を制限し、際限のないメモリー使用を防ぐ |
| CVE-2026-19672 | tarfile | 展開フィルターが展開先の外にフォルダーを作るのを防ぐ |
| CVE-2026-19445 | ssl | SNIコールバックがコンテキストを切り替えたときのクラッシュを修正 |
| CVE-2026-17084 | stringprep, IDNA | 両者をRFC 3454のUnicode文字規則に限定 |
| CVE-2026-15806 | urllib.request | HTTPPasswordMgrのパスワードをURLスキームごとに区別し、HTTPSの認証情報が悪用されないようにする |
| CVE-2026-87910 | tarfile | リンクがアーカイブメンバーの展開にフォールバックする場合にも、展開フィルターを適用 |
8件のうち3件は、.tarアーカイブを展開する標準ライブラリーのモジュールtarfileにあります。その展開フィルターは、展開先のフォルダーの外にアーカイブがファイルを書き込むのを防ぐ安全チェックです。3件の修正はいずれも、このチェックのすき間をふさぎます。
インストーラーとOpenSSL
5つのリリースのうち、すぐに使えるインストーラーが付くのは2つだけです。Python Discourseでの告知によると、3.10.22、3.11.17、3.12.15はソースコードのみの提供で、WindowsやmacOS向けのインストーラーはありません。Python 3.13.16と3.14.8にはインストーラーが付きます。
この2つは、同梱のOpenSSLもバージョン3.5.9に更新します。OpenSSLは、Pythonが暗号化された接続に使うライブラリーです。これはWindows、macOS、Android向けのビルドに適用され、3.14.8ではiOS向けも対象です。
これが開発者にとって意味すること
今すぐPython 3.10から移行しましょう。バージョンを固定しているすべての場所を確認してください。Dockerのベースイメージ、CIのテストマトリックス、pyproject.tomlファイル、サーバーイメージです。今後、3.10のイメージにセキュリティ修正が届くことはありません。
サポート期限を念頭に、移行先を選びましょう。3.11への移行で得られるのは、2027年10月までのわずか1年です。3.12に移行すれば2年です。どうせ作業をするなら、3.13か3.14が最も長く使えます。
自分で作っていないアーカイブを展開するなら、まずパッチを当てましょう。アップロードされた.tarや.zipファイルを受け付けるサービスは、tarfileとzipfileの修正の影響を受けます。そうしたサービスを最初にアップグレードし、自分のコードでも展開フィルターを有効にしたままにしてください。
urllibでパスワードを送っているなら、確認しましょう。HTTPPasswordMgrの修正により、HTTPS用の認証情報が別のスキームで再利用されなくなります。urllib.requestでBasic認証のパスワードを設定するコードは、修正済みのリリースに移行すべきです。
古いブランチでは、ソースからのビルドを想定しておきましょう。WindowsとmacOSでは、3.11と3.12の修正はインストーラーなしで届きます。Linuxディストリビューション、コンテナイメージ、またはPythonをソースからビルドするツールから入手してください。
出典
関連記事

SourceHutのビルドログXSS、アカウント乗っ取りが可能に
細工したビルドログでSourceHutユーザーのブラウザ上でスクリプトを実行できるクロスサイトスクリプティングの欠陥です。ansi2html 1.9.4がバージョン1.7.0から1.9.3に影響したCVE-2026-92973を修正しました。

Rejetto HFS CVE-2026-61500、解説公開の翌日に悪用が始まる
HFS(HTTPファイルサーバー)3.0.0から3.2.0は、ログインの署名にMath.random()を使っています。AnthropicのMythosが見つけた欠陥です。攻撃は解説公開の翌日、10月3日に始まりました。3.2.1で修正されています。

Python 3.15.0の正式版が10月9日に延期、予定外のrc3を公開
Python(パイソン)3.15.0rc3が10月2日に公開されました。終盤に見つかった遅延インポート(lazy imports)のバグを修正するためで、Python 3.15.0の正式リリースは1週間遅れの2026年10月9日になりました。