Django 3.2.22 版本发行说明
2023 年 10 月 4 日
Django 3.2.22 修复了在 3.2.21 中的一个安全问题,安全级别为 “moderate”。
CVE-2023-43665: django.utils.text.Truncator
中的可能导致拒绝服务的漏洞
在修复了 CVE-2019-14232 后,重新审查并改进了 django.utils.text.Truncator
的 chars()
和 words()
方法(使用 html=True
)中使用的正则表达式。但是,这些正则表达式仍然表现出线性回溯复杂性,因此如果输入一个非常长且可能格式不正确的 HTML 输入,评估仍然会很慢,从而导致潜在的拒绝服务漏洞。
chars()
和 words()
方法用于实现 truncatechars_html 和 truncatewords_html 模板过滤器,因此这些模板过滤器也存在漏洞。
为了避免潜在的性能和内存问题,当以 HTML 模式运行时,Truncator
处理的输入已被限制为前五百万个字符。