Django 的开发团队致力于负责任地报告和披露与安全相关的问题,正如 Django 的安全政策 所概述的那样。
作为该承诺的一部分,我们保留了以下已修复和披露的历史问题清单。对于每个问题,下面的列表包括日期、简要描述、CVE 标识符 (如果适用)、受影响版本的列表、到完整披露的链接以及到适当补丁的链接。
一些重要的注意事项适用于这些信息:
受影响的版本列表只包括那些在披露时有稳定的、安全支持的版本的 Django。这意味着旧版本(其安全支持已经过期)和在披露时处于发布前(alpha/beta/RC)状态的版本可能会受到影响,但没有被列出。
Django 项目有时会发布安全公告,指出潜在的安全问题,这些问题可能是由于配置不当或 Django 本身以外的其他问题造成的。有些安全公告已经收到了 CVE,在这种情况下,它们会被列在这里,但由于它们没有附带的补丁或版本,所以只会列出描述、披露和 CVE。
所有的安全问题都已经在 Django 的安全进程的版本下处理。这些版本列举如下。
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 (补丁)
翻译框架中的文件名验证问题。完整说明
4月 27, 2025