Django 发布安全更新:5.0.8 和 4.2.15
根据我们的安全发布策略,Django 团队发布了Django 5.0.8 和 Django 4.2.15 的更新版本。这些版本解决了下面详述的安全问题。我们鼓励所有 Django 用户尽快升级。
CVE-2024-41989:内存耗尽django.utils.numberformat.floatformat()
在floatformat模板过滤器中,当给定一个以科学计数法表示的大指数数字的字符串时,会消耗大量的内存。
感谢 Elias Myllymäki 的报告。
根据 Django 安全策略,此问题的严重性为“中等”。
CVE-2024-41990:潜在的拒绝服务漏洞django.utils.html.urlize()
在urlize()和urlizetrunc()模板过滤器容易受到通过特定字符序列的非常大的输入进行的潜在拒绝服务攻击。
感谢 MProgrammer 的报告。
根据 Django 安全策略,此问题的严重性为“中等”。
CVE-2024-41991:潜在的拒绝服务漏洞django.utils.html.urlize()和AdminURLFieldWidget
在urlize和urlizetrunc模板过滤器和AdminURLFieldWidget组件容易受到通过具有大量 Unicode 字符的特定输入进行的潜在拒绝服务攻击。
感谢 Seokchan Yoon 的报告。
根据 Django 安全策略,此问题的严重性为“中等”。
CVE-2024-42005:潜在的 SQL 注入漏洞QuerySet.values()和values_list()
QuerySet.values()和values_list()方法在带有JSONField的模型中,通过精心设计的 JSON 对象键作为传递的*arg.
感谢 EyalSec 的 Eyal Gabay 的报告。
根据 Django 安全策略,此问题的严重性为“高”。
受影响的支持版本
- Django 主分支
- Django 5.1(当前处于候选发布状态)
- Django 5.0
- Django 4.2
解决方案
已将解决此问题的补丁应用于 Django 的主分支、5.1、5.0 和 4.2 分支。可以从以下变更集中获取这些补丁。
CVE-2024-41991:潜在的拒绝服务漏洞django.utils.html.urlize()和AdminURLFieldWidget
已发布以下版本
- Django 5.0.8 (下载 Django 5.0.8 | 5.0.8 校验和)
- Django 4.2.15 (下载 Django 4.2.15 | 4.2.15 校验和)
此版本使用的 PGP 密钥 ID 为 Sarah Boyce:3955B19851EA96EF
关于安全报告的一般说明
与以往一样,我们请求您通过私人电子邮件将潜在的安全问题报告给security@djangoproject.com,而不是通过 Django 的 Trac 实例、Django 论坛或 django-developers 列表。请参阅我们的安全策略,了解更多信息。