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日
Python公式の開発者向けガイド。サポート中の系列(3.11〜3.15)の表 出典: Python Software Foundation「Status of Python versions」 (引用)
同じ表の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を使う社内ツールが、どのモジュールを使っているかは、開発者や納入業者に確かめる必要があります。
情シスが今日やること
Pythonを動かしている機器を洗い出す。サーバー、作業用PC、コンテナのイメージ、RPA や自動化の実行環境が対象です。各環境で python3 --version を実行して控えます(編集部の補足)
3.10以前を見つける。社内のスクリプトや、納入されたシステムの動作環境を確認し、3.11以降への移行を計画します。3.11は2027年10月が予定です
OSのPythonは、OSの更新で直す。版の番号が公式の修正版と違っても、修正が入っていることがあります。Red Hat系なら rpm -q --changelog python3.12 | grep CVE-2026-19445、Debian系なら apt changelog python3.11 で、CVEの番号を探します(編集部の補足)
自分で入れたPython(インストーラー、pyenv、コンテナのイメージ)は、系列ごとの最新版へ上げる。3.14なら3.14.8以降、3.13なら3.13.16以降です
自作の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系へ、延長のサポートを出す予定があるかどうか