Python 3.9.17
Release Date: June 6, 2023
This is a security release of Python 3.9
Note: The release you're looking at is Python 3.9.17, 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
- gh-103142: The version of OpenSSL used in Windows and Mac installers has been upgraded to 1.1.1u to address CVE-2023-2650, CVE-2023-0465, CVE-2023-0466, CVE-2023-0464, as well as CVE-2023-0286, CVE-2022-4303, and CVE-2022-4303 fixed previously in 1.1.1t (gh-101727).
- gh-102153:
urllib.parse.urlsplit()
now strips leading C0 control and space characters following the specification for URLs defined by WHATWG in response to CVE-2023-24329. - gh-99889: Fixed a security in flaw in
uu.decode()
that could allow for directory traversal based on the input if noout_file
was specified. - gh-104049: Do not expose the local on-disk location in directory indexes produced by
http.client.SimpleHTTPRequestHandler
. - gh-103935:
trace.__main__
now usesio.open_code()
for files to be executed instead of rawopen()
. - gh-101283:
subprocess.Popen
now uses a safer approach to findcmd.exe
when launching withshell=True
. - gh-102126: Fixed a deadlock at shutdown when clearing thread states if any finalizer tries to acquire the runtime head lock.
- gh-100892: Fixed a crash due to a race while iterating over thread states in clearing
threading.local
. - gh-102953: The extraction methods in
tarfile
, andshutil.unpack_archive()
, have a newfilter
argument that allows limitingtar
features than may be surprising or dangerous, such as creating files outside the destination directory. See Extraction filters for details.
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.
Files
Version | Operating System | Description | MD5 Sum | File Size | GPG | Sigstore | |
---|---|---|---|---|---|---|---|
Gzipped source tarball | Source release | ded6379983f364cf790793ca24dcfe3e | 25.1 MB | SIG | .sigstore | ||
XZ compressed source tarball | Source release | 601fc470594f378b4339b454901f8e41 | 18.7 MB | SIG | .sigstore |