在此次安全公告中,我们特别强调一项核心安全原则:所有来自不可信来源的用户输入,在使用前都必须经过严格的验证。本次更新由 Jacob Walls 使用 PGP 钥匙 ID 131403F4D16D8DC7 签署发布。
漏洞概况
Django 开发团队紧急发布了一轮安全更新,修复了影响多个版本 Python Web 框架的六个高危漏洞。这些漏洞中包含三个高危的 SQL 注入漏洞和多个拒绝服务攻击向量,影响了 Django 4.2、5.2、6.0 版本及其主开发分支。

SQL 注入漏洞分析
已披露的三个高危漏洞可能导致攻击者执行任意 SQL 命令:
(CVE-2026-1207)影响使用 PostGIS 的用户,攻击者可通过 GIS 字段的网格查询功能,将不可信的数据作为波段索引参数触发 SQL 注入。(CVE-2026-1287)针对 FilteredRelation 功能,当精心构造的字典被传递给 annotate()、aggregate() 和 values() 等 QuerySet 方法时,攻击者可通过控制字符在列别名中实现 SQL 注入。(CVE-2026-1312)利用 QuerySet.order_by() 方法,当与 FilteredRelation 结合使用时,可通过包含句点的列别名实施 SQL 注入。
拒绝服务漏洞详情
同时修复的两个中危拒绝服务漏洞包括:
(CVE-2025-14550)影响 ASGI 实现,攻击者发送包含重复标头的请求会导致字符串重复拼接、超线性计算和服务降级。(CVE-2026-1285)针对 django.utils.text.Truncator 的 HTML 方法,当处理包含大量未匹配 HTML 结束标签的输入时,chars()、words() 函数及 truncatechars_html、truncatewords_html 模板过滤器会出现二次时间复杂度问题。
漏洞影响版本与修复措施
修复建议
Django 团队已发布 6.0.2、5.2.11 和 4.2.28 版本的补丁,所有用户应立即升级。各受影响分支的修复代码可通过相关版本管理平台获取。
安全公告再次重申核心安全准则:所有不可信来源的用户输入在使用前都应进行验证。本次更新由 Jacob Walls 使用 PGP 钥匙 ID 131403F4D16D8DC7 签署发布。
