# Django 6.0.7 documentation

# Django 5.1.4 版本发行说明

2024 年 12 月 4 日

Django 5.1.4 修复了 5.1.3 中一个严重程度为“高”的安全问题、一个严重程度为“中等”的安全问题以及多个错误。

## 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` 查找的应用程序不受影响。

## 漏洞修复

- 修复了在 Python 3.13+ 上 `createsuperuser` 崩溃的问题，该问题是由于在无法确定用户名时未处理的 `OSError` 引起的（#35942）。

- 修复了 Django 5.1 中的一个回归问题，该问题导致在对具有延迟字段的实例调用 `Model.refresh_from_db()` 时未更新关系字段（#35950）。