Django SQL注入漏洞解析:_connector参数引发的安全风险

本文详细分析了Django框架中存在的SQL注入漏洞CVE-2025-64459,该漏洞影响QuerySet和Q对象的_connector关键字参数,可能导致严重的安全问题。涉及受影响版本范围、修复方案及技术细节。

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报告此安全问题。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计