Python Software Foundationは4月2日(米国時間)、プログラミング言語「Python」の最新版となるPython 3.9.3および3.8.9をリリースした。その後、3.9.3は意図しない非互換性が含まれていることが発覚したためリコールされ、同4月4日に修正版のPython 3.9.4がリリースされた。これらは複数の脆弱性を修正したセキュリティリリースに当たるため、すべてのユーザーに対してアップデートが推奨されている。
Python 3.9.3/3.9.4および3.8.9における主な変更点は、Python Insiderの次のエントリに詳しくまとめられている。
このリリースに含まれるセキュリティ上の主な修正点としては、以下が挙げられている。
- bpo-43631:CI、macOS版およびWindows版のインストーラーにおいて、OpenSSLがCVE-2021-3449およびCVE-2021-3450の修正を含む1.1.1kにアップデートされた
- bpo-42988:CVE-2021-3426のディレクトリトラバーサルの脆弱性を含むpydocモジュールのgetfile機能が削除された
- bpo-43285:ftplibが、デフォルトでPASVコマンドに応答してサーバーから返されたIPアドレス値を信用しないように変更された
- bpo-43439:gc.get_objects()、gc.get_referrers()およびgc.get_referents()に監査用フックが追加された
Python 3.9.4および3.8.9は次のページよりダウンロードすることができる。
Python 3.9系は通常であれば約2カ月に1度メンテナンスリリースが行われるスケジュールになっており、3.9.3はもともとは2021年5月3日にリリースされる計画だった。今回セキュリティリリースが差し込まれたが、開発チームは当初のリリーススケジュールを維持する方針を決めたという。すなわち、次期バージョンの3.9.5は当初の予定通り5月3日にリリースされる。
Python 3.8系は次のバージョンが最後のメンテナンスリリースとなるが、これも3.9系と同様に当初のスケジュールを維持して、5月3日に3.8.10がリリースされる予定となった。3.8系については、3.8.10以降はセキュリティ修正のためのソースリリースのみに移行される。リリーススケジュールについての詳細は下記にまとめられている。