Django 4.2.21发布说明

May 7, 2025

Django 4.2.21修复了严重程度为“中等”的安全问题、数据丢失错误和4.2.20中的回归。

此版本是使用升级的 setuptools ,生成符合 PEP 491PEP 625 从而解决有关不合规分发文件名的PyPI警告。此变更仅影响Django的包装过程,不会影响Django的行为。

UTE-2025-32873:拒绝服务的可能性 strip_tags()

strip_tags() 评估某些包含大量不完整HTML标签序列的输入会很慢。该函数用于实现 striptags 模板过滤器,因此也很脆弱。

strip_tags() 现在提出了 SuspiciousOperation 如果遇到异常大量未关闭的开头标签,则会出现例外。

错误修正

  • 修复了中的数据损坏可能性 file_move_safe()allow_overwrite=True ,由于缺乏截断,以前较大文件中的剩余内容在与较小文件重新运行后可能会保留 (#36298 ).

  • 修复了Django 4.2.20中的回归,该回归在修复时引入 CVE 2025-26699wordwrap 包装文本后,模板过滤器未保留段落之间的白线 (#36341 ).