Lesstep
GitHub Actions・Python・セキュリティ・2026年11月5日に確認

Python の ssl モジュールの CVE-2026-115557 と GitHub Actions:直った版と、Windows と macOS で setup-python が 3.11.18・3.12.16・3.13.18 を入れられない理由

CVE-2026-115557(記録・2026年10月24日に Python Software Foundation が公開)は、漏れた eMudhra の中間 CA への Python の答えです。ssl モジュールがその一覧を持ち、SSLContext の設定にかかわらず拒みます。直った版は 3.11.18・3.12.16・3.13.18・3.14.10・3.15.2 で、それぞれの系列でこれより古い版はすべて該当します。イメージや依存の検査の道具は、見つけた Python にこれを出します(報告の一例:「CVE-2026-115557 in python@3.12.14」)。GitHub Actions で困るのは、actions/setup-python が Windows と macOS 向けに、古い3つの系列の直った版を持っていないことです。

setup-python が持っている版(2026年11月5日)

setup-python が読む一覧(actions/python-versions)から:

Windows では、setup-python のパッケージは python.org のインストーラーで、python.org はこの3つの版のインストーラーを出していません(setup-python #1383・GitHub は setup-python の側では何も変えないとしています)。

ワークフローに入る版

ジョブが入れた版は、セットアップの直後に python -VV で出します。直しそのものを試すなら、公表のページの試しのホストにつなぎます。直った Python は ssl.SSLCertVerificationError を出します:

- run: python -c "import urllib.request; urllib.request.urlopen('https://dv-g3b-emudhra.we-have-a-problem.com/')"

このステップは、直った Python では失敗し、該当する Python では通ります。残すなら continue-on-error: true を付けるか、確かめを逆にします。

Windows と macOS での逃げ道

直った Python に移れば、確かめは ssl モジュール自体にあるので、古い certifi のバンドルを読む requests のようなライブラリーも守られます。pip はルートの写しを自分で持っていて、pip 26.2.2 で直っています。

見分け方

失敗したジョブを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べるので、マトリックスの1つのシステムだけで失敗したセットアップのステップがすぐ分かり、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

JetBrains Marketplace で入れる

GitHub と GitHub Actions は GitHub, Inc. の商標、Python は Python Software Foundation の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページはそのいずれとも提携しておらず、承認も受けていません。

ほかに:ランナーと eMudhra の中間 CA の鍵の漏れ · govulncheck と GO-2026-6809 · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English