Django 5.0.3 版本发行说明

2024 年 3 月 4 日

Django 5.0.3 修复了一些”中等”严重性的安全问题,以及 5.0.2 版本中的几个错误。

CVE-2024-27351: django.utils.text.Truncator.words() 存在潜在的正则表达式拒绝服务漏洞

django.utils.text.Truncator.words() 方法(使用 html=True)和 truncatewords_html 模板过滤器可能受到潜在的正则表达式拒绝服务攻击,使用精心设计的字符串(对 CVE-2019-14232CVE-2023-43665 的后续)。

漏洞修复

  • 修复了 Django 5.0.2 中的一个回归问题,即 intcomma 模板过滤器可能在浮点数的字符串表示中返回一个前导逗号(#35172)。
  • 修复了 Django 5.0 中的一个错误,导致当所有接收器都是异步函数时,Signal.asend()asend_robust() 崩溃(#35174)。
  • 修复了 Django 5.0.1 中的一个回归问题,即当字段未包含在 ModelAdmin.list_filter 中时,ModelAdmin.lookup_allowed() 将阻止使用类似 __isnull 的查找对外键进行过滤(#35173)。
  • 修复了 Django 5.0 中的一个回归问题,即 @sensitive_variables@sensitive_post_parameters 装饰器在从 .pyc 文件加载的函数上导致崩溃(#35187)。
  • 修复了 Django 5.0 中的一个回归问题,即当重新加载测试数据库并且基本管理器的基本查询集使用了 prefetch_related() 时导致崩溃(#35238)。
  • 修复了 Django 5.0 中的一个错误,即在管理中使用一个没有主键的查询集的 SimpleListFilter 会导致面向方面的筛选器崩溃(#35198)。