已发布 Django 安全版本:5.1.1、5.0.9 和 4.2.16
根据我们的安全版本发布策略,Django 团队发布了Django 5.1.1、Django 5.0.9和Django 4.2.16版本。这些版本解决了以下详细说明的安全问题。我们鼓励所有 Django 用户尽快升级。
CVE-2024-45230:潜在的拒绝服务漏洞位于django.utils.html.urlize()
urlize和urlizetrunc可能受到通过具有特定字符序列的超大输入进行的潜在拒绝服务攻击。
感谢 MProgrammer 报告此问题。
根据 Django 安全策略,此问题的严重性为“中等”。
CVE-2024-45231:通过密码重置时的响应状态进行的潜在用户邮箱枚举
由于未处理的邮件发送失败,django.contrib.auth.forms.PasswordResetForm类允许远程攻击者通过发出密码重置请求并观察结果来枚举用户邮箱。
为了减轻此风险,现在使用django.contrib.auth记录器处理和记录密码重置邮件发送期间发生的异常。
感谢 Thibaut Spriet 报告此问题。
根据 Django 安全策略,此问题的严重性为“低”。
受影响的支持版本
- Django 主分支
- Django 5.1
- Django 5.0
- Django 4.2
解决方案
已将解决此问题的补丁应用于 Django 的主分支、5.1 分支、5.0 分支和 4.2 分支。可以从以下更改集中获取这些补丁。
已发布以下版本
- Django 5.1.1 (下载 Django 5.1.1 | 5.1.1 校验和)
- Django 5.0.9 (下载 Django 5.0.9 | 5.0.9 校验和)
- Django 4.2.16 (下载 Django 4.2.16 | 4.2.16 校验和)
此版本使用的 PGP 密钥 ID 为 Natalia Bidart:2EE82A8D9470983E
关于安全报告的常规说明
与以往一样,我们请求通过私人电子邮件向security@djangoproject.com报告潜在的安全问题,而不是通过 Django 的 Trac 实例、Django 论坛或 django-developers 列表报告。请参阅我们的安全策略,了解更多信息。