Python 3.9.17
发布日期: 2023年6月6日
这是 Python 3.9 的一个安全修复版本
注意:您正在查看的是 Python 3.9.17,这是旧版 3.9 系列的安全漏洞修复版本。Python 3.11 现在是 Python 3 最新的功能发布系列。在此处获取 3.11.x 的最新版本。
此版本中的安全内容
- gh-103142:Windows 和 Mac 安装程序中使用的 OpenSSL 版本已升级至 1.1.1u,以解决 CVE-2023-2650、CVE-2023-0465、CVE-2023-0466、CVE-2023-0464,以及先前在 1.1.1t 版本中已修复的 CVE-2023-0286、CVE-2022-4303 和 CVE-2022-4303 (gh-101727)。
- gh-102153:为应对 CVE-2023-24329,
urllib.parse.urlsplit()
现在会根据 WHATWG 定义的 URL 规范,移除开头的 C0 控制字符和空格字符。 - gh-99889:修复了
uu.decode()
中的一个安全漏洞,该漏洞在未指定out_file
的情况下,可能允许基于输入内容进行目录遍历。 - gh-104049:由
http.client.SimpleHTTPRequestHandler
生成的目录索引中,不再暴露本地磁盘位置。 - gh-103935:现在
trace.__main__
对待执行的文件使用io.open_code()
,而非原始的open()
。 - gh-101283:现在,当使用
shell=True
启动时,subprocess.Popen
会使用更安全的方法来查找cmd.exe
。 - gh-102126:修复了在关闭时,如果有任何终结器(finalizer)试图获取运行时头锁(runtime head lock),清理线程状态时会导致的死锁问题。
- gh-100892:修复了在清理
threading.local
时,因迭代线程状态的竞争条件(race condition)导致的崩溃问题。 - gh-102953:
tarfile
中的提取方法以及shutil.unpack_archive()
新增了一个filter
参数,用于限制可能带来意外或危险的tar
功能,例如在目标目录之外创建文件。详情请参阅 提取过滤器 (Extraction filters)。
无安装程序
根据 PEP 596 中指定的发布日程,Python 3.9 目前处于其生命周期的“仅安全修复”阶段:3.9 分支只接受安全修复,并且这些修复将以不定期、仅源码的形式发布,直至 2025 年 10 月。Python 3.9 不再接收常规的漏洞修复,也不再为其提供二进制安装程序。Python 3.9.13 是 Python 3.9 最后一个提供二进制安装程序的完整漏洞修复版本。
文件
版本 | 操作系统 | 描述 | MD5 校验和 | 文件大小 | Sigstore | GPG | |
---|---|---|---|---|---|---|---|
Gzip 压缩的源码包 | 源码发布版 | ded6379983f364cf790793ca24dcfe3e | 25.1 MB | .sigstore | SIG | ||
XZ 压缩的源码包 | 源码发布版 | 601fc470594f378b4339b454901f8e41 | 18.7 MB | .sigstore | SIG |