Django 4.1.12发行说明

October 4, 2023

Django 4.1.12修复了4.1.11中严重程度为“中等”的安全问题。

CVE-2023-43665:中的拒绝服务可能性 django.utils.text.Truncator

在修复之后 CVE-2019-14232 的实现中使用的正则表达式 django.utils.text.Truncator %s chars()words() 方法(与 html=True )进行了修订和改进。但是,这些正则表达式仍然表现出线性回溯复杂性,因此,当给定一个非常长的、可能格式错误的HTML输入时,计算仍然会很慢,从而导致潜在的拒绝服务漏洞。

这个 chars()words() 方法用于实现 truncatechars_htmltruncatewords_html 模板过滤器,因此也很容易受到攻击。

由处理的输入 Truncator 在HTML模式下运行时,被限制为前500万个字符,以避免潜在的性能和内存问题。