Django 的开发团队致力于负责任地报告和披露与安全相关的问题,正如 Django 的安全政策 所概述的那样。
作为该承诺的一部分,我们保留了以下已修复和披露的历史问题清单。对于每个问题,下面的列表包括日期、简要描述、CVE 标识符 (如果适用)、受影响版本的列表、到完整披露的链接以及到适当补丁的链接。
一些重要的注意事项适用于这些信息:
受影响的版本列表只包括那些在披露时有稳定的、安全支持的版本的 Django。这意味着旧版本(其安全支持已经过期)和在披露时处于发布前(alpha/beta/RC)状态的版本可能会受到影响,但没有被列出。
Django 项目有时会发布安全公告,指出潜在的安全问题,这些问题可能是由于配置不当或 Django 本身以外的其他问题造成的。有些安全公告已经收到了 CVE,在这种情况下,它们会被列在这里,但由于它们没有附带的补丁或版本,所以只会列出描述、披露和 CVE。
所有的安全问题都已经在 Django 的安全进程的版本下处理。这些版本列举如下。
Potential log injection via unescaped request path. Full description
There was an additional hardening with new patch releases published on June 10, 2025. Full description
Denial-of-service possibility in strip_tags()
.
Full description
Potential denial-of-service vulnerability in LoginView
, LogoutView
, and
set_language()
on Windows. Full description
Potential denial-of-service in django.utils.text.wrap()
.
Full description
Potential denial-of-service vulnerability in IPv6 validation. Full description
django.utils.html.strip_tags()
中潜在的拒绝服务漏洞。完整描述
在 Oracle 上 HasKey(lhs, rhs)
中潜在的 SQL 注入漏洞。完整描述
通过密码重置的响应状态可能导致用户邮箱枚举。完整描述
django.utils.html.urlize()
中潜在的拒绝服务漏洞。完整描述
QuerySet.values()
和 values_list()
中潜在的 SQL 注入漏洞。完整描述
django.utils.html.urlize()
和 AdminURLFieldWidget
中潜在的拒绝服务漏洞。完整描述
django.utils.html.urlize()
中潜在的拒绝服务漏洞。完整描述
django.utils.numberformat.floatformat()
中潜在的内存耗尽漏洞。完整描述
django.utils.translation.get_supported_language_variant()
中潜在的拒绝服务漏洞。完整描述
django.core.files.storage.Storage.save()
中潜在的目录遍历漏洞。完整描述
通过不可用密码用户的时序差异进行用户名枚举。完整描述
django.utils.html.urlize()
中潜在的拒绝服务漏洞。完整描述
django.utils.text.Truncator.words()
存在潜在的正则表达式拒绝服务漏洞。完整描述
intcomma
模板过滤器存在潜在的拒绝服务漏洞。完整描述
关于 Windows 平台上的 UsernameField
存在潜在的拒绝服务漏洞。详细信息请查看 完整描述
django.utils.text.Truncator
中存在拒绝服务可能性。详细信息请查看 完整描述
django.utils.encoding.uri_to_iri()
存在潜在的拒绝服务漏洞。详细信息请查看 完整描述
EmailValidator
和 URLValidator
存在潜在的正则表达式拒绝服务漏洞。详细信息请查看 完整描述
上传多个文件使用一个表单字段时存在潜在的验证绕过漏洞。详细信息请查看 完整描述
文件上传中存在潜在的拒绝服务漏洞。详细信息请查看 完整描述
通过 Accept-Language
标头存在潜在的拒绝服务漏洞。详细信息请查看 完整描述
国际化 URL 存在潜在的拒绝服务漏洞。详细信息请查看 完整描述
FileResponse 中存在潜在的反射式文件下载漏洞。详细信息请查看 完整描述
通过 Trunc(kind)
和 Extract(lookup_name)
参数存在潜在的 SQL 注入漏洞。详细信息请查看 完整描述
在 QuerySet.annotate()
, aggregate()
和 extra()
中存在潜在的 SQL 注入漏洞。详细信息请查看 完整描述
通过 PostgreSQL 上的 QuerySet.explain(**options)
存在潜在的 SQL 注入漏洞。详细信息请查看 完整描述
可能通过 {% debug %}
模板标签存在跨站脚本攻击(XSS)漏洞。详细信息请查看 完整描述
文件上传中存在拒绝服务可能性。详细信息请查看 完整描述
通过 Storage.save()
存在潜在的目录遍历漏洞。详细信息请查看 完整描述
dictsort
模板过滤器存在潜在的信息泄露漏洞。详细信息请查看 完整描述
UserAttributeSimilarityValidator
存在拒绝服务可能性。详细信息请查看 完整描述
存在潜在的绕过基于 URL 路径的上游访问控制漏洞。详细信息请查看 完整描述
潜在的 SQL 注入,通过未检验的 QuerySet.order_by()
输入。完整描述
可能通过 admindocs
进行目录遍历。完整描述
由于验证器接受 IPv4 地址中的前导零,因此可能出现不确定的 SSRF、RFI 和 LFI 攻击。完整描述
由于 URLValidator
在 Python 3.9.5+ 上接受输入中的换行符,存在标头注入可能性。详细信息请查看 完整描述
通过上传的文件进行潜在的目录遍历。完整描述
通过上传的文件进行潜在的目录遍历。完整描述
通过 django.utils.http.limited_parse_qsl()
进行的网络缓存中毒。完整描述。
通过 archive.extract()
进行潜在的目录遍历。完整说明
在 Python 3.7+ 上,文件系统缓存的中间层目录的权限升级。完整说明
在 Python 3.7+ 上,中间层目录的权限不正确。完整说明
可能通过管理 ForeignKeyRawIdWidget
进行 XSS。完整说明
通过畸形的 memcached 密钥可能造成数据泄露。完整说明
针对 Oracle 数据库, 通过 GIS 函数和聚合函数中的 tolerance
参数带来的潜在 SQL 注入。完整说明
通过 StringAgg(delimiter)
带来的潜在 SQL 注入。 完整说明
通过密码重置表单带来的潜在账户劫持。完整说明
在 Django 管理中的特权提升。完整说明
在 django.utils.encoding.uri_to_iri()
函数中潜在的内存耗尽。 完整说明
针对 JSONField
/HStoreField
在键和索引查询时带来的潜在 SQL 注入。 完整说明
存在于 strip_tags()
函数的拒绝服务攻击。完整说明
存在于 django.utils.text.Truncator
的拒绝服务攻击。完整说明
通过 HTTPS 连接反向代理的 HTTP 检测不正确。。完整说明
由 AdminURLFieldWidget
生成的 “Current URL” 连接引起的跨站脚本漏洞。完整说明
捆绑 jQuery 的原型污染。完整说明
django.utils.numberformat.format()
中内存耗尽。完整说明
默认 404 页面存在内容欺骗的可能。完整说明
密码哈希值披露给了 “只看” 的管理员用户。完整说明
Django 2.1 (补丁)
在 CommonMiddleware
中开放重定向的可能性。完整说明
truncatechars_html
和 truncatewords_html
模板过滤器中存在拒绝服务的可能性。完整说明
urlize
和 urlizetrunc
模板过滤器中存在拒绝服务的可能性。完整说明
AuthenticationForm
中的信息泄露。完整说明
在技术 500 调试页面的回溯部分可能存在 XSS。完整说明
django.views.static.service()
中的开放重定向漏洞。完整说明
通过用户提供的数字重定向 URL 打开重定向和可能的 XSS 攻击。完整说明
当 DEBUG=Tr
时,DNS 重绑定漏洞。完整说明
在 Oracle 上运行测试时创建的带有硬编码密码的用户。完整说明
在有 Google Analytics 的网站上绕过 CSRF 保护。完整说明
管理员的添加/更改相关弹窗中的 XSS。完整说明
通过时间差对密码哈希工作因子升级进行用户枚举。完整说明
通过用户提供的包含基本认证的重定向 URL 进行恶意重定向和可能的 XSS 攻击。完整说明
拥有 “变更” 而非 “添加” 权限的用户可以用 “保存为 True” 为 ModelAdmin
创建对象。完整说明
Django 1.9 (补丁)
date
模板过滤器存在设置泄漏可能性。详细信息请查看 完整描述
通过填充会话存储,存在 logout()
视图的拒绝服务可能性。详细信息请查看 完整描述
URL 验证中存在拒绝服务可能性。详细信息请查看 完整描述
Django 1.8 (补丁)
由于验证器接受输入中的换行符,存在标头注入可能性。详细信息请查看 完整描述
通过填充会话存储存在拒绝服务可能性。详细信息请查看 完整描述
修复了 cached_db 后端中的会话刷新问题。详细信息请查看 完整描述
Django 1.8 (补丁)
通过用户提供的重定向 URL 缓解了可能的跨站脚本(XSS)攻击。详细信息请查看 完整描述
使用 strip_tags()
存在拒绝服务可能性。详细信息请查看 完整描述
通过 ModelAdmin.readonly_fields
中的属性存在跨站脚本(XSS)攻击漏洞。详细信息请查看 完整描述
使用 ModelMultipleChoiceField
存在数据库拒绝服务漏洞。详细信息请查看 完整描述
存在针对 django.views.static.serve()
的拒绝服务攻击漏洞。详细信息请查看 完整描述
通过用户提供的重定向 URL 缓解了可能的跨站脚本(XSS)攻击。详细信息请查看 完整描述
通过下划线/短横线混合欺骗 WSGI 标头。完整描述
在管理员中通过查询字符串操纵导致数据泄漏。完整描述
RemoteUserMiddleware
会话劫持。完整描述
文件上传拒绝服务。完整描述
reverse()
可以生成指向其他主机的 URL。完整描述
来自用户输入的格式不正确的 URL 被错误验证。完整描述
缓存可能允许存储和提供私人数据。完整描述
MySQL 类型转换导致意外的查询结果。完整描述
匿名页面的缓存可能会显示 CSRF 令牌。完整描述
使用 reverse()
导致意外的代码执行。完整描述
通过大型密码进行拒绝服务攻击。完整描述
Django 1.4 (补丁 和 Python 兼容性修复)
Django 1.5 (补丁)
通过 ssi
模板标签进行目录遍历。完整描述
可能通过未经验证的 URL 重定向方案进行跨站脚本(XSS)攻击。完整描述
通过管理员信任的 URLField
值进行跨站脚本(XSS)攻击。完整描述
Django 1.5 (补丁)
通过 formset 的 max_num
绕过进行拒绝服务攻击。完整描述
通过管理员历史记录日志泄露信息。完整描述
针对 Python XML 库的实体攻击。完整描述
对 Host
头处理的额外加固。完整描述
对重定向验证的额外加固。完整描述
对 Host
头处理的额外加固。完整描述
Host
头部污染。完整描述
通过大型图像文件进行拒绝服务攻击。完整描述
通过压缩的图像文件进行拒绝服务攻击。完整描述
通过未能验证重定向方案进行跨站脚本(XSS)攻击。完整描述
潜在的 CSRF(跨站请求伪造)攻击通过 Host
头部。完整描述
此通知仅为提醒,因此没有发布补丁。
Django 1.2
Django 1.3
Host
头部缓存污染。完整描述
通过 URLField.verify_exists
存在信息泄露/任意请求发出。完整描述
通过 URLField.verify_exists
进行拒绝服务攻击。完整描述
在使用内存缓存支持的会话时进行会话操纵。完整描述
通过不正确的路径分隔符处理在 Windows 上进行目录遍历。完整描述
通过未经过滤的上传文件的名称进行跨站脚本(XSS)攻击。完整描述
通过伪造的 HTTP 头部进行 CSRF 攻击。完整描述
在密码重置机制中的拒绝服务攻击。完整描述
界面管理中的信息泄漏`完整描述<https://www.djangoproject.com/weblog/2010/dec/22/security/>`__
XSS通过信任不安全的cookie值。完整描述<https://www.djangoproject.com/weblog/2010/sep/08/security-release/>`__
Django 1.2 (补丁)
通过缺陷正则表达性能拒绝服务。完整说明
开发服务器媒体处理程序中的目录遍历。完整说明
在管理员登录时通过保存 POST 数据进行 CSRF。完整说明
通过管理员登录重定向进行 XSS。完整说明
通过任意大的 Accept-Language
头拒绝服务。完整说明
有些安全问题是在 Django 还没有正式使用安全流程之前就已经处理好的。对于这些问题,当时可能还没有发布新的版本,可能还没有分配 CVE。
对认证用户进行明显的 “缓存”。完整说明
Django 0.95 (补丁)
翻译框架中的文件名验证问题。完整说明
8月 13, 2025