首页 网络安全 正文
  • 本文约1123字,阅读需6分钟
  • 5
  • 0

PostgreSQL FilteredRelation SQL注入CVE-2025-13372

摘要

栋科技漏洞库关注到 Django 框架受影响版本中存在漏洞,追踪为CVE-2025-13372和CVE-2025-64460,CVSS 3.X评分分别为4.3和7.5。

Django 是一款由 Python 编写的高级 Web 框架,遵循电池已内置(Batteries Included)的设计理念,为互联网上部分大型网站提供支持。

一、基本情况

Django 项目旨在帮助开发者快速构建安全、可扩展、维护性强的 Web 应用,无需重复造轮子,它是全球最主流的 Python Web 框架之一。

Django是开箱即用企业级Web框架,适合追求开发效率、安全性和可维护性Web项目,适配内容管理、后台系统、中大型API服务等场景。

PostgreSQL FilteredRelation SQL注入CVE-2025-13372

栋科技漏洞库关注到 Django 框架受影响版本中存在漏洞,追踪为CVE-2025-13372和CVE-2025-64460,CVSS 3.X评分分别为4.3和7.5。

二、漏洞分析

CVE-2025-13372

CVE-2025-13372漏洞是存在于 Django 框架受影响版本中的安全漏洞,漏洞可能导致PostgreSQL FilteredRelation功能出现SQL注入风险。

攻击者利用FilteredRelation在列别名中执行恶意查询,通过精心构造的输入注入恶意SQL,导致数据库信息泄露、篡改或执行非授权操作。

攻击者可使用适当构建的字典,通过字典扩展的方式,将 kwargs 传递给 PostgreSQL 上的 QuerySet.annotate() 或 QuerySet.alias()。

PostgreSQL环境使用QuerySet.annotate()或QuerySet.alias()方法并传递包含恶意构造的字典(使用字典展开)作为kwargs导致SQL注入。

CVE-2025-64460

 CVE-2025-64460是存在于Django多个版本中的算法复杂度漏洞,存在于 django.core.serializers.xml_serializer.getInnerText() 方法中。

具体来说,该漏洞源于 django.core.serializers.xml_serializer.getInnerText() 中的算法复杂性问题,使攻击者可以利用 XML 输入发起攻击。

漏洞出现在 XML Deserializer 处理输入时的文本提取阶段,这一拒绝服务(DoS)漏洞影响 XML 序列化器,对服务可用性构成重大风险。

getInnerText() 方法在处理复杂或嵌套结构的 XML 输入时,存在算法性能问题,导致运算复杂度异常升高。

漏洞因递归收集文本节点时的重复字符串拼接操作导致超线性计算,最终造成服务降级或中断。

攻击者可通过发送特制 XML 输入,远程触发 Django 应用服务端 CPU 和内存资源耗尽,造成拒绝服务攻击(DoS),影响应用可用性。

三、影响范围

Django 5.2 < 5.2.9  

Django 5.1 < 5.1.15  

Django 4.2 < 4.2.27  

不受支持的旧版本(如 5.0.x、4.1.x 和 3.2.x)可能也受影响,但尚未明确评估。

四、修复建议

Django >= 5.2.9

Django >=  5.1.15

Django >= 4.2.27

五、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接