Django紧急修复高危SQL注入漏洞与DoS安全漏洞

Django团队发布安全更新,修复高危SQL注入漏洞CVE-2025-64459和中等严重性DoS漏洞CVE-2025-64458。这些漏洞影响多个Django版本,可能被攻击者利用操纵数据库查询或导致服务中断。

Django团队在最新安全更新中修复高危SQL注入漏洞(CVE-2025-64459)和DoS漏洞(CVE-2025-64458)

Django软件基金会(DSF)已为Django Web框架的多个分支发布了新的安全更新,解决了两个漏洞——包括一个高危SQL注入漏洞,可能允许攻击者操纵数据库查询。

这些补丁适用于Django 5.2.8、5.1.14和4.2.26版本,以及主分支和6.0测试版。开发团队敦促所有用户立即升级以减轻潜在风险。

CVE-2025-64459:通过_connector关键字的高危SQL注入

本次更新中解决的最严重问题是CVE-2025-64459,这是一个高危SQL注入漏洞,影响多个常见的Django数据库方法——包括QuerySet.filter()、QuerySet.exclude()、QuerySet.get()和Q()类。

当这些方法通过_connector关键字参数使用字典扩展时,如果参数内容未经过适当清理,攻击者可以注入恶意SQL表达式。

Django团队解释说:“当使用适当构造的字典(通过字典扩展)作为_connector参数时,QuerySet.filter()、QuerySet.exclude()和QuerySet.get()方法以及Q()类容易受到SQL注入攻击。”

如果成功利用,此漏洞可能允许远程攻击者根据应用程序权限和部署配置修改、泄露或破坏数据库内容。鉴于Django在企业Web应用、电子商务平台和API中的广泛使用,此漏洞对运行未修补版本的生产环境构成严重威胁。

该问题由研究员cyberstan负责任地披露,并获得了公开致谢。Django根据其内部安全政策将此漏洞分类为“高危”。

CVE-2025-64458:通过Unicode重定向在Windows上导致的中等拒绝服务(DoS)

第二个漏洞CVE-2025-64458影响Django在Windows系统上的HTTP重定向处理。它被分类为中等严重性,但在某些条件下仍构成潜在的拒绝服务风险。

根据公告,“Python中的NFKC规范化在Windows上运行缓慢。因此,HttpResponseRedirect、HttpResponsePermanentRedirect和redirect函数容易受到通过具有大量Unicode字符的特定输入导致的潜在拒绝服务攻击。”

实际上,这意味着恶意行为者可以提供具有过多Unicode规范化要求的特制URL,导致Django的重定向函数在Windows主机上消耗大量CPU时间。这可能导致受影响服务器的性能下降或服务中断。

该问题由Seokchan Yoon发现,展示了平台特定的实现特性——在这种情况下是Python中的Unicode规范化性能——即使在成熟框架中也可能引入意外的安全影响。

受影响版本和补丁

以下受支持的Django版本受到一个或两个漏洞的影响:

  • Django主分支
  • Django 6.0(测试版)
  • Django 5.2
  • Django 5.1
  • Django 4.2

更新版本——5.2.8、5.1.14和4.2.26——现已在官方Django网站和软件包仓库中提供,同时附有相应的发布说明:

  • Django 5.2.8发布说明
  • Django 5.1.14发布说明
  • Django 4.2.26发布说明
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计