ニュース

「Python 3.9.7」「Python 3.8.12」が公開 ~セキュリティ関連の修正は4件【9月7日追記】

「Python 3.7.12」「Python 3.6.15」もリリース

「Python 3.9.7」が公開

 「Python 3.9.7」「Python 3.8.12」が、8月30日に公開された。セキュリティ修正を含むメンテナンスアップデートとなっている。

 「Python 3.9.7」は現行の推奨バージョン「Python 3.9」系統の最新版で、全バージョンから187件のコミット(ソースコードの修正)が加えられている。セキュリティ関連の修正は以下の4件。

  • bpo-42278:競合状態を避けるため、tempfile.mktemp()をTemporaryDirectoryへ置き換え
  • bpo-41180:marshalモジュールに監査イベントを追加し、marshallされていないコードオブジェクトごとにcode.__init__イベントを発生させないように。pycファイルからロードする際のパフォーマンスオーバーヘッドが大幅に削減
  • bpo-44394:ベンダーコピーされた「libexpat」(Windows/Macでよく使われている)をv2.2.8からv2.4.1へ更新し、「Billion laughs」脆弱性(CVE-2013-0340)へ対処
  • bpo-43124:「smtplib」のputcmd関数でコマンドラインインジェクションを避けるためにサニタイズ処理を追加

 「Python 3.9」は現在、公式サイト「python.org」から無償でダウンロード可能。Windows 10の場合は「Microsoft Store」からも入手できる。「Python」がインストールされていない環境で「コマンド プロンプト」などで「python」コマンドを利用すると、「ストア」アプリが起動して「Python」のダウンロード画面が現れる。

 なお、次の「Python 3.9」系統のメンテナンスリリースは「Python 3.9.8」。今のところ11月1日のリリースが予定されている。

「Python」がインストールされていない環境で「コマンド プロンプト」などで「python」コマンドを利用すると、「ストア」アプリが起動して「Python」のダウンロード画面が現れる

 一方、「Python 3.8」系統は2回目の「セキュリティのみ」(Security-Only)リリース。バイナリインストーラーの提供は終了し、ソースコードのみの提供となるので注意したい。内容は、4件のセキュリティ修正とサービス拒否(DoS)につながる可能性のある不具合の修正が4件。また、インストーラーを作成するユーザーのために「OpenSSL」がv1.1.1lにアップグレードされている。

 「Python 3.7.12」「Python 3.6.15」は、間もなくリリースされる予定。サポート期間は「Python 3.6」系統が2021年12月まで、「Python 3.7」系統が2023年6月まで。とくに「Python 3.6」系統は後継バージョンへの移行を急いだほうがよいだろう。

[2021年9月7日追記] 9月3日、「Python 3.7.12」「Python 3.6.15」もリリースされた(ソースコードのみの提供)。いずれも3件のセキュリティ修正が施されている。