Django 安全更新发布:5.0.7 和 4.2.14

Django 安全更新发布:5.0.7 和 4.2.14

💡 原文英文,约300词,阅读约需1分钟。
📝

内容提要

Django发布了5.0.7和4.2.14版本的安全更新,修复了拒绝服务攻击、用户名枚举和目录遍历等几个安全问题。建议用户尽快升级。

🔎

延伸解读

受影响版本与升级建议

本次安全更新覆盖 Django 5.0.7 和 4.2.14,同时影响主分支、5.1 测试版、5.0 和 4.2 系列。官方建议所有用户尽快升级,以修复拒绝服务、用户名枚举和目录遍历等漏洞。若项目仍在使用这些版本,应优先安排升级。

漏洞严重性分级

四个漏洞中,CVE-2024-38875 和 CVE-2024-39614 的严重性为中等,分别涉及 urlize() 和 get_supported_language_variant() 的拒绝服务风险;CVE-2024-39329 和 CVE-2024-39330 的严重性为低,涉及用户名枚举和目录遍历。用户可根据严重性评估修复优先级。

目录遍历漏洞的特定条件

CVE-2024-39330 仅影响那些继承自 django.core.files.storage.Storage 并重写 generate_filename() 方法、但未复制父类文件路径验证的自定义存储类。Django 内置的 Storage 子类不受影响。使用自定义存储后端的项目需检查代码是否满足此条件。

拒绝服务漏洞的缓解措施

针对 CVE-2024-39614,Django 将 get_supported_language_variant() 接收的语言代码解析长度限制为最多 500 个字符,以缓解拒绝服务攻击。对于 CVE-2024-38875,更新修复了 urlize() 和 urlizetrunc() 在处理大量括号输入时的潜在拒绝服务问题。

❓

Q&A

Django 5.0.7和4.2.14版本更新了什么内容?

这两个版本的更新修复了拒绝服务攻击、用户名枚举和目录遍历等多个安全问题。

Django用户应该如何处理这些安全更新?

建议所有Django用户尽快升级到最新版本以确保安全。

CVE-2024-38875是什么问题?

CVE-2024-38875是django.utils.html.urlize()存在潜在的拒绝服务攻击,严重性为中等。

Django 5.1版本是否受到影响?

Django 5.1版本目前处于测试状态,受影响的版本包括Django 5.0和4.2。

CVE-2024-39329的严重性如何?

CVE-2024-39329的严重性被评估为低,涉及通过时间差进行用户名枚举。

如何防范CVE-2024-39330带来的风险?

开发者应确保在重写generate_filename()时复制父类中的文件路径验证,以防止目录遍历。

🏷️

标签

➡️

继续阅读