Django SQL注入漏洞分析
漏洞概述
Django框架在QuerySet.filter()、QuerySet.exclude()、QuerySet.get()方法和Q()类中存在SQL注入漏洞,攻击者可通过精心构造的字典和字典展开作为_connector参数进行攻击。
受影响版本
-
= 5.2a1, < 5.2.8
-
= 5.0a1, < 5.1.14
- < 4.2.26
修复版本
- 5.2.8
- 5.1.14
- 4.2.26
技术细节
该漏洞源于Django在处理_connector参数时未能充分验证和清理用户输入,导致攻击者可以通过字典展开技术构造恶意SQL语句。早期不受支持的Django系列(如5.0.x、4.1.x和3.2.x)可能同样受到影响。
安全评分
CVSS v3.1评分:9.1(严重)
基础指标:
- 攻击向量:网络
- 攻击复杂度:低
- 所需权限:无
- 用户交互:无
- 影响范围:未改变
- 机密性影响:高
- 完整性影响:高
- 可用性影响:无
相关资源
- 国家漏洞数据库:https://nvd.nist.gov/vuln/detail/CVE-2025-64459
- Django安全发布:https://docs.djangoproject.com/en/dev/releases/security
- Django公告邮件组:https://groups.google.com/g/django-announce
Django项目组感谢cyberstan报告此安全问题。