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

Python 3.8.20

发布日期:2024 年 9 月 6 日

这是 Python 3.8 的安全版本

注意: 您正在查看的版本是 Python 3.8.20,它是旧版 3.8 系列的安全漏洞修复版本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() 现在接受 0o700模式,以将新目录限制为当前用户。这修复了影响 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:修复了对于路径以多个斜杠开头且没有授权的 URI,urllib.parse.urlunparse()urllib.parse.urlunsplit() 的问题。修复了 CVE-2015-2104。
  • gh-121957:修复了围绕 Python 交互式使用的缺失的审计事件,现在也正确地为 python -i 以及 python -m asyncio 触发。有问题的事件是 cpython.run_stdin
  • gh-122133:在 AF_UNIX 不可用的平台(如 Windows)上,对 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() 现在在更多情况下返回 ('', '') 2 元组,而不是可能不准确的值。向这两个函数添加可选的 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 569 中指定的发布日历,Python 3.8 现在处于其生命周期的“仅安全修复”阶段:3.8 分支仅接受安全修复,并且这些修复的发布以仅源形式不定期进行,直到 2024 年 10 月。Python 3.8 不再接收常规错误修复,并且不再为其提供二进制安装程序。Python 3.8.10 是 Python 3.8 的最后一个完整错误修复版本,带有二进制安装程序。

完整变更日志

文件

版本 操作系统 描述 MD5 校验和 文件大小 GPG Sigstore
Gzip 压缩的源代码 tarball 源代码发布 7e0ff9088be5a3c2fd9b7d8b4b632b5e 23.9 MB SIG .sigstore
XZ 压缩的源代码 tarball 源代码发布 745478c81d6382cf46b5e7ad89e56008 18.1 MB SIG .sigstore