本文へスキップ

Python 3.15.1、3.14.9、3.13.17がpip 26.2.2を同梱

Python 3.15.1、3.14.9、3.13.17が2026年10月21日に公開されました。pip(ピップ)26.2.2とcertifi 2026.10.19を同梱し、認証局eMudhraを信頼しないようにします。

著者 Tech AI Wire Team

3 分で読めます

「Python 3.15.1, 3.14.9 and 3.13.17 are out」と題したPython Insiderの記事。ダウンロードリンクと、pip 26.2.2とcertifi 2026.10.19についての説明が見えます。

数字で見る

Python release lines patched on October 21
3
the pip version every installer now bundles
26.2.2
the certifi version inside that pip
2026.10.19

Pythonのリリースチームは2026年10月21日、Python 3.15.1、3.14.9、3.13.17を公開しました。pipがeMudhraを信頼しないようにするためです。この認証局は今週、鍵の流出が判明しました。新しいインストーラーで新規の環境は直ります。ただし既存の仮想環境は、それぞれ個別に更新する必要があります。

3つのリリースで何が変わるか

リリースチームのHugo van KemenadeによるPython Insiderの記事によると、3つともpip 26.2.2を同梱しています。このpipにはcertifi 2026.10.19が入っています。certifiは信頼する認証局のリストで、この版ではeMudhraが外されています。

リリース種類同梱するもの
3.15.1前倒しのセキュリティリリースpip 26.2.2、certifi 2026.10.19
3.14.9前倒しのセキュリティリリースpip 26.2.2、certifi 2026.10.19
3.13.17特別なセキュリティリリースpip 26.2.2、certifi 2026.10.19

Python 3.13のセキュリティリリースでは、古い環境を壊さないよう、通常はpipを更新しません。van Kemenadeは例外の理由を次のように説明しています。「3.13はセキュリティ修正のみの段階に入ったばかりなので、インストーラー付きの特別リリースを出すのが賢明だと考えました」

背景となった件はeMudhraのCA鍵が漏えい、Go・Firefox・NSSが修正版を公開で取り上げています。要するに、eMudhraの中間証明書8件の鍵は推測できるほど弱いものでした。鍵を持つ人は誰でも、どのサイトのHTTPS証明書でも偽造できました。

OSの更新だけでは足りない理由

pipは、どのサイトを信頼するかの判断をOSだけに任せていません。Linux Compatibleの説明では、pipはシステムの信頼ストアと並べて常にcertifiを読み込みます。certifiを無効にする公式の手段はありません。そのため、OSを更新してeMudhraを外しても、古いpipはまだ信頼したままです。

だからPythonの記事は、環境ごとの対応を求めています。「システム上の既存の仮想環境すべてで、pipとuvを最新版に更新してください」。uvは、pipの代わりに使えるPythonのパッケージマネージャーです。

Linux Compatibleは、さらにいくつかの点を補足しています。

  • uvには逃げ道がある。 UV_SYSTEM_CERTS=trueを設定すると、uvはホストの信頼ストアを使います。pipには同等の設定がありません。
  • コンテナーは再ビルドが必要。 古いpipを固定したイメージは、再ビルドするまでeMudhraを信頼し続けます。
  • 根本的な修正は提案段階。 PythonのコアコントリビューターTiranは、問題のある中間証明書の鍵をsslモジュールでブロックするよう求めるチケットを出しました。まだ実装されてはいません。Tiranは「『セキュリティインシデント』とは、つまり悪い秘密鍵のことです」と書いています。

Python 3.15.1のその他の変更

Python 3.15.1は、10月9日に3.15.0が出てから最初のバグ修正リリースでもあります。Linux Compatibleによると、117人の貢献者による約330件のバグ修正が入っています。Pythonの変更履歴には、セキュリティ関連の項目が3つあります。

  • ensurepipに同梱されるpipが26.2.2になります。
  • Windowsでは、mimetypesがデフォルトでmimetypes.knownfilesを読まなくなり、レジストリーだけを使います。
  • 同梱のXMLパーサーlibexpatが2.9.0になります。

macOSでは、Tkのウィンドウを作るプログラムで、Ctrl-Cを押すと再びKeyboardInterruptが発生するようになりました。macOS用インストーラーには、プレリリース版のTkも入っています。これはIDLEなどのtkinterアプリで起きる「macOS 27.0での動作停止の可能性」を修正します。またmultiprocessingは、書き込める一時フォルダーがない場合に「spawn」方式で起動するようになりました。

開発者にとっての意味

これはインタープリターの更新ではなく、環境の手入れの作業と考えてください。

  • すべての仮想環境でpipを更新する。 Pythonの記事は、チェックサム付きのURLでpip 26.2.2を入れる、固定されたコマンドを示しています。uvも更新してください。
  • macOSのpython.orgインストールを直す。 これらは独自のcertifiを持っています。記事が3.15、3.14、3.13について示すとおり、各バージョンのPythonでpip install --upgrade certifiを実行してください。
  • イメージとCIのキャッシュを作り直す。 先週ビルドしたDockerイメージやキャッシュ済みの仮想環境には、古いcertifiが残っています。
  • WindowsのMIME処理に注意する。 コードがmimetypes.knownfilesを読んでいるなら、展開する前に3.15.1で試してください。

3.15.0を見送っていた場合、主な変更点はPython 3.15.0が公開、遅延インポートとfrozendictを搭載にまとめています。

出典

  1. Python 3.15.1, 3.14.9 and 3.13.17 are out - Python Insider
  2. Python Releases Emergency Update to Block Broken eMudhra Certificate Authority - Linux Compatible
  3. Changelog - Python 3.15.0 documentation - Python documentation

関連記事

ansi2html v1.9.4のGitHubリリースページ。FixesにCVE-2026-92973の修正「osc8: ensure proper escaping」が載っている。
開発ツール

SourceHutのビルドログXSS、アカウント乗っ取りが可能に

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

2026年10月21日のphp.netのトップページ。PHPのロゴの下に、8.5.12、8.4.27、8.3.36、8.2.35の各リリースへのリンクが並んでいます。
プログラミング

PHP 8.5.12と8.4.27、重大なRCE脆弱性2件を修正

PHPは10月21日に8.5.12、8.4.27、8.3.36、8.2.35を公開し、9.2と評価されたリモートコード実行(RCE)の脆弱性2件を修正しました。PHPは、更新だけが完全な対策だとしています。