Notice: This page displays a fallback because interactive scripts did not run. Possible causes include disabled JavaScript or failure to load scripts or stylesheets.

Python 3.9.15

Warning: Python 3.9.15 reached end-of-life on 2025-10-31. It is no longer supported and does not receive security updates. We recommend upgrading to the latest Python release.
Note: Python 3.9.15 has been superseded by Python 3.9.25.

Release date: Oct. 11, 2022

This is a security release of Python 3.9

Note: The release you're looking at is Python 3.9.15, a security bugfix release for the legacy 3.9 series. Python 3.11 is now the latest feature release series of Python 3. Get the latest release of 3.11.x here.

Security content in this release

  • CVE-2022-40674: bundled libexpat was upgraded from 2.4.7 to 2.4.9 which fixes a heap use-after-free vulnerability in function doContent
  • gh-97616: a fix for a possible buffer overflow in list *= int
  • gh-97612: a fix for possible shell injection in the example script get-remote-certificate.py (this issue originally had a CVE assigned to it, which its author withdrew)
  • gh-96577: a fix for a potential buffer overrun in msilib

No installers

According to the release calendar specified in PEP 596, Python 3.9 is now in the "security fixes only" stage of its life cycle: the 3.9 branch only accepts security fixes and releases of those are made irregularly in source-only form until October 2025. Python 3.9 isn't receiving regular bug fixes anymore, and binary installers are no longer provided for it. Python 3.9.13 was the last full bugfix release of Python 3.9 with binary installers.

Full Changelog

Files

Version Operating system Description File size Sigstore GPG MD5 checksum
Gzipped source tarball Source release 25.1 MB .sigstore SIG 3e13283a5f4e089db508bf81b60a5cca
XZ compressed source tarball Source release 18.8 MB .sigstore SIG 8adc5662c9fd10a23ae8ae9f28b65b49