注意: 虽然 JavaScript 对于本网站不是必需的,但您与内容的互动将受到限制。请开启 JavaScript 以获得完整的体验。

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-102953tarfile 中的提取方法以及 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