Django 3.2.4 版本发行说明
2021 年 6 月 2 日
Django 3.2.4 修复了 3.2.3 中的两个安全问题和几个漏洞。
CVE-2021-33203:通过 admindocs
进行潜在的目录遍历
工作人员可以使用 admindocs TemplateDetailView
视图来检查任意文件的存在。此外,如果(也只有在)默认的管理文档模板被开发者自定义为暴露文件内容,那么不仅是文件的存在,文件内容也会被暴露。
作为一种缓解措施,现在应用了路径净化,只有模板根目录下的文件可以被加载。
CVE-2021-33571:由于验证器接受 IPv4 地址中的前导零,可能会出现不确定的 SSRF、RFI 和 LFI 攻击
URLValidator、validate_ipv4_address() 和 validate_ipv46_address() 没有禁止八进制字的前导零。如果你使用这样的值,你可能遭受不确定的 SSRF、RFI 和 LFI 攻击。
validate_ipv4_address() 和 validate_ipv46_address() 验证器在 Python 3.9.5+ 上不受影响。
漏洞修复
- 修正了 Django 3.2 中的一个漏洞,当把未认证的用户重定向到登录页面时,管理中的最终全局视图没有尊重服务器提供的
SCRIPT_NAME
的值(#32754)。 - 修正了 Django 3.2 中的一个漏洞,即系统检查会在抽象模型上崩溃(#32733)。
- 防止 Django 3.2 中不必要地初始化未使用缓存的缺陷(#32747)。
- 修正了 Django 3.2 中的一个崩溃问题,在安装了 Windows
colorama
库的情况下,以推荐的设置运行mod_wsgi
时,可能会发生崩溃(#32740)。 - 修正了 Django 3.2 中的一个漏洞,当目录路径用字符串指定时,会触发模板变化的自动重载程序(#32744)。
- 修正了 Django 3.2 中的一个缺陷,该缺陷导致自动加载器在出现
AttributeError
时崩溃,例如在Conda
环境中(#32783)。 - 修正了 Django 3.2 中的一个缺陷,该缺陷导致在 MySQL 上使用
DecimalField
进行操作时的精度损失(#32793)。