本文へ移動
情シスのミカタ
ニュース約10分で読めます

Pythonの脆弱性5件、修正は3.14.8など。3.10系は10月1日にサポート終了

CPythonの2026年8月〜10月のセキュリティ修正5件(CVE-2026-19445ほか)を、Python公式・NVD・BSIで確かめました。直る版、Linux各社の配布、系列ごとのサポート期限、情シスの確認手順をまとめます。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
Pythonの脆弱性5件、修正は3.14.8など。3.10系は10月1日にサポート終了

この記事のまとめ

  • CPythonの修正5件のうち、深刻度が最も高いCVE-2026-19445(CVSS 4.0で9.2)は、sni_callbackを使うTLSサーバーの特定の作りに限られます。
  • 5件はPython 3.14.8・3.13.16・3.12.15・3.11.17・3.10.22で直ります。3.15は3.15.0のrc2・rc3で入っています。
  • 3.10系は公式の表で2026年10月1日にend-of-lifeです。最後の版3.10.22が出て、以後の修正はありません。
  • ドイツのBSIは3件の注意情報を10月11日(UTC)に更新しました。Red Hat・Debian・Rocky・Oracleの修正が参照されています。
こんな方に#30代#40代#50代実務

Python(CPython)は、LinuxのOSの道具、社内の自動化スクリプト、Webアプリ、データ分析で広く使われています(一般的な説明)。Python公式は2026年8月から10月にかけて、セキュリティ修正5件を公表しました。

ドイツのBSI(CERT-Bund)は、この5件に関わる注意情報3件を10月11日(UTC)に更新しています。5件は、特定の機能を特定の使い方で使うプログラムだけが対象のものが多く、原文の条件を落とさずに整理します。あわせて、Python 3.10系が10月1日にサポートを終えたことも確認します。

公式の資料で確かめられたこと

項目 内容 出どころ
修正の対象 CVE-2026-19445・19553・19672・15806・17084の5件。登録元はPythonのCNA NVD・Python公式の告知
直る版 3.14.8・3.13.16・3.12.15(9月30日)、3.11.17・3.10.22(10月1日)。3.15は3.15.0のrc2・rc3 各リリースのページ・変更履歴
深刻度 Pythonの告知は19445がCRITICAL、19553がHIGH、ほかの3件がMEDIUM。BSIは注意情報3716を「hoch」(高)、3016と2924を「mittel」(中)とした Python公式・BSI
悪用 確かめた資料に、悪用の報告は書かれていない 上記すべて

CVSSはPython(CNA)が付けた4.0の値で、NVDの審査は2026年10月12日の確認時点で「Awaiting Analysis」(分析待ち)でした。BSIの深刻度は、BSIが付けたものです。

5件の一覧

「内容」は、NVDとPythonの告知の原文を編集部が日本語に要約したものです。

CVE 公開日 内容 影響する使い方 CVSS 4.0
CVE-2026-19445 9月30日 認証なしのTLSクライアントが、サーバーを異常終了させる、または解放済みのポインタ経由の呼び出しを起こせる sni_callbackがSSLSocket.contextに別のコンテキストを割り当て、元のSSLContextをほかに保持していないサーバー 9.2
CVE-2026-19553 9月30日 ホスト名の検証が黙って飛ばされる wrap_bio()、asyncioのcreate_connection()・start_tls()に、server_hostnameを渡さない場合 7.6
CVE-2026-19672 8月19日 tarfileの展開フィルターが、展開先の外に空のディレクトリを作る POSIX(Windowsは対象外)で、名前が展開先を出て戻るメンバー 6.3
CVE-2026-15806 8月18日 httpsの認証情報が、同じホストへのhttp通信でも使われる urllib.requestのHTTPPasswordMgr系で、攻撃者がhttpへ誘導できる場合 6.0
CVE-2026-17084 8月18日 stringprepとIDNA 2003のコーデックの判定が、Unicode 3.2.0の定義とずれる 新しい文字や、属性が変わった文字を含むドメイン名 6.0

条件を落とさずに読む

19445は、sni_callback(サーバー名ごとに証明書を選ぶ公式の方法)でコンテキストを切り替え、元のコンテキストを誰も保持していないサーバーが対象です。原文は、接続ごとにSSLContextを作る、接続中に入れ替えるサーバーを典型例に挙げています。待ち受けソケットをそれで包んでいるサーバーと、TLSクライアントは影響なしです。回避策は、sni_callbackを設定したSSLContextへの参照を、サーバーの動作中ずっと保持することです。CVSSのベクターでは、攻撃条件の複雑さが高(AC:H)とされています。

19553は、server_hostnameに空でない値を渡していれば影響を受けません。回避策に、Pythonの更新は要りません。更新しても、黙って検証を飛ばす動きが、ValueErrorの発生に変わるだけです。ただし3.10と3.11の修正版は、互換性のため、ValueErrorではなくDeprecationWarning(警告)を出すとリリースのページに書かれています。ValueErrorになるのは3.13以降です。

19672は、メンバーの名前に展開先ディレクトリ自身の最後の名前を含む必要があり、ランダムな名前のディレクトリへの展開は影響なしです。作られるのは空のディレクトリだけで、中身は展開先の中に出ます。

15806は、スキーム付きで登録した認証情報だけが、同じスキームの通信に使われるようになりました。ホスト名だけで登録した認証情報は、従来どおりすべてのスキームに合います。回避策は、認証情報を登録したホストへhttpで通信しないことです(httpへのリダイレクトに従わない設定など)。

どの版で直るか

系列 直る版 公開日 出どころ
3.15 3.15.0のrc2(15806・17084・19672)・rc3(19445・19553)で修正済み。3.15.0は10月9日公開 10月9日 変更履歴
3.14 3.14.8 9月30日 リリースのページ
3.13 3.13.16 9月30日 リリースのページ
3.12 3.12.15 9月30日 リリースのページ
3.11 3.11.17 10月1日 リリースのページ
3.10 3.10.22(最後の版) 10月1日 リリースのページ

3.15.0のリリースのページには、セキュリティの項目がありません。3.15への修正は、変更履歴(docs.python.org)で確かめました。19672のCVE登録は影響範囲を「3.16.0未満」とだけ書いており、系列ごとの直る版は、各リリースのページに書かれています。3.14.8のページは、この版を「expedited security release」(急ぎのセキュリティリリース)としています。

系列とサポート期限

Python公式の開発者向けガイド「Status of Python versions」に、2026年10月12日時点で載っている表です。斜体の日付は予定で、変わることがあると書かれています。

系列 状態 最初の公開 End of life
3.15 bugfix 2026年10月9日 2031年10月(予定)
3.14 bugfix 2025年10月7日 2030年10月(予定)
3.13 security 2024年10月7日 2029年10月(予定)
3.12 security 2023年10月2日 2028年10月(予定)
3.11 security 2022年10月24日 2027年10月(予定)
3.10 end-of-life 2021年10月4日 2026年10月1日
3.9 end-of-life 2020年10月5日 2025年10月31日
3.8 end-of-life 2019年10月14日 2024年10月7日
Status of Python versionsのSupported versionsの表。3.15はbugfixで2031年10月、3.14はbugfixで2030年10月、3.13はsecurityで2029年10月、3.12はsecurityで2028年10月、3.11はsecurityで2027年10月がEnd of life
Python公式の開発者向けガイド。サポート中の系列(3.11〜3.15)の表出典: Python Software Foundation「Status of Python versions」(引用)
Unsupported versionsの表。3.10はend-of-lifeで2026-10-01、3.9は2025-10-31、3.8は2024-10-07、3.7は2023-06-27など、3.0以前の系列までend-of-lifeが並ぶ
同じ表のUnsupported versions。3.10は2026年10月1日にend-of-life出典: Python Software Foundation「Status of Python versions」(引用)

3.10は、2026年10月1日にend-of-lifeになりました。3.10.22のページには「Python 3.10.22 reached end-of-life on 2026-10-01. It is no longer supported and does not receive security updates」とあり、今後の修正はありません。3.9以前も終了済みです。

3.11と3.12のページには、セキュリティ修正だけのsecurityの段階で、ソースのみの配布となり、バイナリのインストーラーは提供されないと書かれています。python.orgのインストーラーで入れた3.11・3.12は、今回の修正版のインストーラーがない点に注意が要ります(編集部の補足)。

Linux各社の修正の配布

BSIの3716は、Red Hat・Debian・Rocky・Oracleの修正を第2版から順に加え、第6版(10月11日・UTC)まで更新しました。3016と2924には、openSUSE・SUSE・Fedoraも参照されています。次は、編集部が各社のページを開いて確かめたものです。

提供元 アドバイザリ 対象 修正後のパッケージ 修正CVE
Red Hat RHSA-2026:77028(10月6日・Important) RHEL 8 python3.12-3.12.15-2.el8_10 19445・19553
Red Hat RHSA-2026:77017(10月6日・Important) RHEL 9 python3.12-3.12.15-1.el9_8 19445・19553
Red Hat RHSA-2026:74867(10月2日・10月5日更新) Red Hat Hardened Images python3.15-3.15.0~rc2-1.1.hum1 19445
Rocky Linux RLSA-2026:77028(10月8日・Important) Rocky Linux 8 python3.12(Red Hatの写し) 19445・19553
Oracle Linux ELSA-2026-77028(10月7日・IMPORTANT) Oracle Linux 8 python3.12-3.12.15-2.el8_10 19445・19553(変更履歴には19672・15806・17084も)
Debian DLA-4827-1(10月8日・LTS) Debian 12 bookworm python3.11 3.11.2-6+deb12u9 19445・19553・15806・17084

Red Hatのページが対象とするのは、python3.12のパッケージです。RHEL 8の標準のPythonなど、ほかのパッケージの扱いは、開いたページには書かれていません。Debianの修正リストに19672は入っていません。Red Hat Hardened Imagesには、9月8日付のRHSA-2026:65567(python3.13-3.13.15)で、19672・15806・17084の修正が配られています。SUSE・openSUSE・Fedoraのページは開いていません。

影響する会社・しない会社

  • 影響する: 社内でTLSのサーバー(自作のPythonのサーバーなど)を動かし、sni_callbackで証明書を切り替えている会社。保持の仕方によって、19445の対象になります
  • 影響する(確認が要る): PythonでHTTPSなどのクライアントを書き、wrap_bio()やasyncioでserver_hostnameを渡していない会社。19553で、ホスト名の検証が飛ばされます
  • 影響する(確認が要る): 3.10以前を動かしている会社。公式の表では終了済みで、今後の修正は出ません
  • 影響する(確認が要る): 3.11・3.12をpython.orgのインストーラーで入れている会社。今回の版のインストーラーは提供されない、と書かれています
  • 影響しない: sni_callbackを使わず、TLSのサーバーをPythonで書いていない会社(19445)。TLSクライアントとして使うだけの場合も、19445は影響なしです
  • 影響しない: tarfileの展開先をランダムな名前のディレクトリにしている、またはWindowsだけで動かしている会社(19672)

Pythonを使う社内ツールが、どのモジュールを使っているかは、開発者や納入業者に確かめる必要があります。

情シスが今日やること

  1. Pythonを動かしている機器を洗い出す。サーバー、作業用PC、コンテナのイメージ、RPAや自動化の実行環境が対象です。各環境で python3 --version を実行して控えます(編集部の補足)
  2. 3.10以前を見つける。社内のスクリプトや、納入されたシステムの動作環境を確認し、3.11以降への移行を計画します。3.11は2027年10月が予定です
  3. OSのPythonは、OSの更新で直す。版の番号が公式の修正版と違っても、修正が入っていることがあります。Red Hat系なら rpm -q --changelog python3.12 | grep CVE-2026-19445、Debian系なら apt changelog python3.11 で、CVEの番号を探します(編集部の補足)
  4. 自分で入れたPython(インストーラー、pyenv、コンテナのイメージ)は、系列ごとの最新版へ上げる。3.14なら3.14.8以降、3.13なら3.13.16以降です
  5. 自作のTLSサーバーやHTTPSクライアントのコードがあるなら、開発者に頼む。sni_callbackの使い方と、server_hostnameの渡し方を確認してもらいます(編集部の補足)

PHPの修正とサポート期限の記事でも、版の番号だけで判断しない確認の考え方を書いています。

書かれていないこと

次の点は、確かめた資料には書かれていません。この記事でも書きません。

  • 悪用された事例や、攻撃を観測したという報告
  • Red Hat Enterprise Linux 8・9のpython3.12以外のパッケージ(python3.9・python3.11・python3.13など)の修正の有無
  • UbuntuとSUSE・openSUSE・Fedoraの修正パッケージの版
  • 3.10系へ、延長のサポートを出す予定があるかどうか

よくある質問

QPythonを使っている会社は、すべて危険ですか?

Aそうは書かれていません。5件とも、特定のモジュールの特定の使い方で起きる件です。たとえばCVE-2026-19445は、sni_callbackでSSLContextを切り替えるTLSサーバーが対象で、TLSクライアントは影響なしと書かれています。使い方を確かめてから優先順位を決めます。

QOSのPythonは、版の番号が上がらないと未対応ですか?

Aそうとは限りません。Red Hat系の更新は3.12.15相当のパッケージですが、Debianは3.11.2-6+deb12u9のように、元の版の番号のまま修正を入れています。OSの更新情報で、CVEの番号が載っているかを確かめます。

QPython 3.10のスクリプトは、すぐ止まりますか?

A止まるとは書かれていません。動き続けますが、公式の表では2026年10月1日にend-of-lifeで、以後のセキュリティ修正は出ません。3.11以降への移行計画が要ります。

Q悪用は確認されていますか?

A確かめたPython公式の告知、NVD、BSIの注意情報には、悪用の報告は書かれていませんでした。書かれていないことと、起きていないことは別です。

出典・参考

チェック済み。この記事は監修者によってチェックされました。(2026年10月12日)

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(解説)

法令・官公庁の発表・企業の公式発表などの一次情報を調べて、情シス向けの解説・比較・テンプレの記事を書きます。数字と日付は出典と照らして確かめ、記事の最後に出典を載せています。使っているAI: Anthropic Claude。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が一次情報を調べて書き、機械の検査を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします