CVE-2025-64459CVE-2025-64459是Django框架中的一个高危SQL注入漏洞,CVSS评分高达9.1。该漏洞影响Django多个版本系列,包括5.1、4.2和5.2。漏洞根源在于Django ORM的QuerySet方法(filter()、exclude()、get())以及Q()类在处理字典参数时存在安全缺陷。当开发者使用字典扩展作为_connector参数时,攻击者可以通过构造恶意输入绕过安全限制,最终实现任意SQL命令执行。该漏洞由安全研究员cyberstan发现并报告,Django官方已于2025年11月5日发布安全公告和修复版本。鉴于其无需认证即可远程利用的特性,且可导致数据库敏感信息泄露或数据篡改,建议所有使用受影响版本的Django用户立即升级到安全版本。
该SQL注入漏洞源于Django ORM在处理动态查询参数时的安全缺陷。具体来说,当使用filter()、exclude()或get()方法时,如果_connector参数通过字典扩展方式传递,Django会直接将用户可控数据拼接到SQL查询语句中而未进行充分的参数化处理。Q()类对象同样存在此问题。攻击者可以通过构造包含SQL片段的字典键或值,利用Django的ORM查询构建逻辑,将恶意SQL代码注入到最终执行的数据库查询中。例如,使用{'__in': [malicious_payload]}或通过Q对象的_connector参数注入SQL代码片段。该漏洞允许攻击者在未授权情况下读取、修改或删除数据库中的敏感数据,可能导致用户凭证泄露、业务数据篡改等严重后果。攻击复杂度低,无需特殊权限或用户交互即可实现。