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

Python 3.9.20

发布日期: 2024 年 9 月 6 日

这是一个 Python 3.9 的安全版本

注意:您正在查看的版本是 Python 3.9.20,它是旧版 3.9 系列的安全漏洞修复版本Python 3.12 现在是 Python 3 的最新功能发布系列。 在此处获取最新的 3.12.x 版本

此版本中的安全内容

  • gh-123678gh-116741:将捆绑的 libexpat 升级到 2.6.3 以修复 CVE-2024-28757CVE-2024-45490CVE-2024-45491CVE-2024-45492
  • gh-118486:Windows 上的 os.mkdir() 现在接受 0o700mode 来限制新目录的当前用户。这修复了影响 tempfile.mkdtemp() 的 CVE-2024-4030,在基本临时目录比默认目录更宽松的情况下。
  • gh-123067:通过 http.cookies 修复了解析带有反斜杠的 " 引用的 cookie 值的二次复杂性。修复了 CVE-2024-7592。
  • gh-113171:修复了 IPv4Address.is_private、IPv4Address.is_global、IPv6Address.is_private、IPv6Address.is_global 中的各种误报和漏报。修复了 CVE-2024-4032。
  • gh-67693:修复了 urllib.parse.urlunparse()urllib.parse.urlunsplit(),用于路径以多个斜杠开头且没有 authority 的 URI。修复了 CVE-2015-2104。
  • gh-121957:修复了 Python 交互式使用中缺失的审计事件,现在也适用于 python -i 以及 python -m asyncio。相关事件是 cpython.run_stdin
  • gh-122133:在 Windows 等无法使用 AF_UNIX 的平台上,验证 socket.socketpair() 回退的套接字连接。
  • gh-121285:从 tarfile 标头解析中删除 hdrcharset、PAX 和 GNU 稀疏标头的回溯。这是 CVE-2024-6232。
  • gh-114572:当 ssl.SSLContext 在多个线程之间共享时,ssl.SSLContext.cert_store_stats()ssl.SSLContext.get_ca_certs() 现在正确锁定对证书存储的访问。
  • gh-102988:现在在更多遇到无效电子邮件地址的情况下,email.utils.getaddresses()email.utils.parseaddr() 返回 ('', '') 二元组,而不是潜在的不准确值。向这两个函数添加可选的 strict 参数:使用 strict=False 来获取旧的行为,接受格式错误的输入。可以使用 getattr(email.utils, 'supports_strict_parsing', False) 来检查 strict 参数是否可用。这改进了 CVE-2023-27043 的修复。
  • gh-123270:清理 zipfile.Path 中的名称以避免无限循环 (gh-122905),而不会破坏使用合法字符的内容。这是 CVE-2024-8088。
  • gh-121650:现在在输出时引用带有嵌入换行符的 email 标头。现在,generator 将拒绝序列化(写入)不安全地折叠或分隔的标头;请参阅 verify_generated_headers。这是 CVE-2024-6923。
  • gh-119690:修复了由 _winapi.CreateFile_winapi.CreateNamedPipe 引发的审计事件中的数据类型混淆。
  • gh-116773:修复了 <_overlapped.Overlapped object at 0xXXX> still has pending operation at deallocation, the process may crash 的实例。
  • gh-112275:现在修复了在 fork 时涉及 posixmodule.cpystate.cHEAD_LOCK 的死锁。

没有安装程序

根据 PEP 596 中指定的发布日历,Python 3.9 现在处于其生命周期的“仅安全修复”阶段:3.9 分支仅接受安全修复,并且这些修复程序的发布不定期地以仅源代码形式进行,直到 2025 年 10 月。Python 3.9 不再接收常规的错误修复,并且不再为其提供二进制安装程序。Python 3.9.13 是 Python 3.9 的最后一个完整错误修复版本,带有二进制安装程序。

完整变更日志

文件

版本 操作系统 描述 MD5 校验和 文件大小 GPG Sigstore
Gzip 压缩的源代码压缩包 源代码发布 896c19e5815ba990a3d1261502ea9f83 24.9 MB SIG .sigstore
XZ 压缩的源代码压缩包 源代码发布 bdcda0fdb99e7e17018f6886fae5e1fd 18.7 MB SIG .sigstore