CVE-2020-7471
Django 1.11(1.11.28 之前)、2.2(2.2.10 之前)和 3.0(3.0.3 之前)版本存在 SQL 注入漏洞:当未受信任的数据被用作 StringAgg 分隔符时(例如,在提供按用户指定列分隔符将数据以行序列下载的 Django 应用中),可能触发此漏洞。通过向...
- 已发布
- 2020年2月3日
- 已更新
- 2024年8月4日
- 分配 CNA
- mitre
- 观察到的证据
- 2026年8月8日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H高 · 未来 30 天
- 百分位
- 99.3%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Django 1.11(1.11.28 之前)、2.2(2.2.10 之前)和 3.0(3.0.3 之前)版本存在 SQL 注入漏洞:当未受信任的数据被用作 StringAgg 分隔符时(例如,在提供按用户指定列分隔符将数据以行序列下载的 Django 应用中),可能触发此漏洞。通过向 contrib.postgres.aggregates.StringAgg 实例传递精心构造的分隔符,可突破转义机制并注入恶意 SQL。
来源
7CVE-2020-7471 通过 StringAgg(delimiter) 的潜在 SQL 注入漏洞
利用 CVE-2020-7471 的 CTF 挑战,这是 Django 中 PostgreSQL StringAgg 的 SQL 注入漏洞,包含 Docker 设置和漏洞利用脚本。
针对 PostgreSQL 与 Django 结合使用中的 SQL 注入漏洞的 PoC,该漏洞存在于 Django 1.11 至 1.11.28 之前版本、2.2 至 2.2.10 之前版本以及 3.0 至 3.0.3 之前版本中。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。