Django 4.2.15 版本发行说明

2024 年 8 月 6 日

Django 4.2.15 修复了 4.2.14 中的三个严重程度为“中等”的安全问题、一个严重程度为“高”的安全问题以及一个回归问题。

CVE-2024-41989:django.utils.numberformat.floatformat() 中的内存耗尽问题

如果 floatformat 接收到科学计数法表示的数字字符串且指数较大,可能会导致显著的内存消耗。

为了避免这种情况,现在超过 200 位的十进制数会原样返回。

CVE-2024-41990:django.utils.html.urlize() 中潜在的拒绝服务漏洞

urlizeurlizetrunc 可能会因包含特定字符序列的非常大的输入而遭受潜在的拒绝服务攻击。

CVE-2024-41991: django.utils.html.urlize()AdminURLFieldWidget 中潜在的拒绝服务漏洞

urlize, urlizetrunc, 和 AdminURLFieldWidget 可能会因某些包含大量 Unicode 字符的输入而受到潜在的拒绝服务攻击。

CVE-2024-42005: QuerySet.values()values_list() 中潜在的 SQL 注入漏洞

QuerySet.values()values_list() 方法在使用 JSONField 的模型上,可能会通过传递的 *arg 中精心构造的 JSON 对象键,在列别名中受到 SQL 注入攻击。

漏洞修复

  • 修复了 Django 4.2.14 中的一个回归问题,该问题导致在处理超过 500 个字符的语言代码时,LocaleMiddleware 崩溃(#35627)。