Django 4.2.17 版本发行说明

2024 年 12 月 4 日

Django 4.2.17 修复了 4.2.16 中一个严重程度为“高”的安全问题和一个严重程度为“中等”的安全问题。

CVE-2024-53907: strip_tags() 中潜在的拒绝服务漏洞

strip_tags() 在处理某些包含大量嵌套不完整 HTML 实体的输入时,评估速度会极其缓慢。strip_tags() 方法用于实现相应的 striptags 模板过滤器,因此该过滤器也容易受到攻击。

strip_tags() 现在在引发 SuspiciousOperation 异常之前,对 HTMLParser 的递归调用次数设置了上限。

请记住,strip_tags() 的结果绝对不保证是安全的 HTML。因此,在将 strip_tags() 调用的结果标记为安全之前,绝对不要忘记首先进行转义,例如使用 django.utils.html.escape()

CVE-2024-53908: 在 Oracle 上通过 HasKey(lhs, rhs) 潜在的 SQL 注入漏洞

在 Oracle 上直接使用 django.db.models.fields.json.HasKey 查找时,如果将不受信任的数据用作 lhs 值,可能会受到 SQL 注入攻击。

通过 __ 语法使用 has_key 查找的应用程序不受影响。