July 9, 2024
Django 5.0.7修复了5.0.6中的两个严重性为“中等”的安全问题、两个严重性为“低”的安全问题和一个错误。
django.utils.html.urlize()¶urlize 和 urlizetrunc 通过具有非常大量括号的某些输入而受到潜在的拒绝服务攻击。
这个 authenticate() 该方法允许远程攻击者通过计时攻击来列举用户,该攻击涉及对具有不可用密码的用户的登录请求。
Storage.save()¶的衍生类 Storage 覆盖的Base类 generate_filename() 无需复制父类中现有的文件路径验证,允许在调用时通过某些输入进行潜在的目录穿越 save() 。
内置 Storage 子类不受此漏洞的影响。
get_supported_language_variant()¶get_supported_language_variant() 当与包含特定字符的非常长的字符串一起使用时,会受到潜在的拒绝服务攻击。
为了缓解此漏洞,提供的语言代码 get_supported_language_variant() 现在解析的最大长度为500个字符。
当语言代码超过500个字符时, ValueError 如果 strict 是 True ,或者如果没有通用变体, strict 是 False 。
Fixed a bug in Django 5.0 that caused a crash of Model.full_clean() on
unsaved model instances with a GeneratedField and certain defined
Meta.constraints
(#35560).
5月 28, 2025