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

Django Oracle中的SQL注入漏洞CVE-2024-53908

摘要

栋科技漏洞库关注到Django近期发布安全公告,修复了Django中存在的CVE-2024-53907漏洞和另外一个SQL注入漏洞CVE-2024-53908。

Django是一个高级的Python Web框架,作为一个免费和开源框架,拥有活跃繁荣的社区,丰富的文档,以及很多免费和付费的解决方案。

Django可以快速开发安全和可维护的网站,Django负责处理网站开发中复杂部分,开发者可专注于编写应用程序,而无需重新单独开发。

一、基本情况

Django是高水准的Python编程语言驱动的开源模型,视图、控制器风格的Web应用程序框架,包含许多三方插件使其具有较强可扩展性。

Django成为WEB开发者首选框架,遵循MVC设计模式和MTV设计模式,但因控制器接受用户输入部分由框架自行处理而更遵循MTV模式。

Django Oracle中的SQL注入漏洞CVE-2024-53908

栋科技漏洞库关注到Django近期发布安全公告,修复了Django中存在的CVE-2024-53907漏洞和另外一个SQL注入漏洞CVE-2024-53908。

二、漏洞分析

CVE-2024-53907

CVE-2024-53907漏洞是在Django 5.1.4之前的5.1、5.0.10之前的5.0以及4.2.17之前的4.2中发现了一个漏洞,该漏洞的CVSS评分为9.8。

漏洞源于django.utils.html.strip_tags() 方法和 striptags模板过滤器未充分处理包含大量嵌套不完整HTML实体输入,可导致拒绝服务攻击。

该漏洞可能导致过度的内存消耗或栈溢出,从而使应用程序挂起或崩溃,攻击可通过某些包含大量嵌套的不完整HTML实体的输入来实现。

攻击者可以通过提供恶意构造的输入,来触发CVE-2024-53907漏洞,从而可能因为过度的内存消耗或栈溢出而导致拒绝服务攻击的发生。

CVE-2024-53908

CVE-2024-53908是在Django 5.1.4之前的5.1、5.0.10之前的5.0以及4.2.17之前的4.2中发现的一个SQL注入漏洞,漏洞的CVSS评分9.8。

当Django应用使用Oracle数据库作为后端时,当Django应用中的django.db.models.fields.json.HasKey查找功能被直接用于Oracle数据库,

并且其左侧参数(lhs)包含不受信任的数据时可能会导致SQL注入攻击,恶意攻击者可以通过注入恶意SQL代码利用该漏洞攻击数据库。

使用Oracle数据库时,若将不受信任数据用作lhs值,则直接使用django . db . models . fields . JSON . has key查找会受到SQL注入限制。

而通过使用jsonfield.has_key查找的应用程序不受影响,成功利用该漏洞,可能会导致敏感数据的泄露、数据篡改或者数据库被恶意控制。

当然,恶意攻击者也可以利用该漏洞获取到更高特权,一旦成功获得高等级权限,攻击者就可以完全控制网站,漏洞危害性自然不言而喻。

三、影响范围

Django 5.1 < 5.1.4

Django 5.0 < 5.0.10

Django 4.2 < 4.2.17

四、安全措施

目前这些漏洞已经修复,受影响用户可升级到以下版本:

Django 5.1 >= 5.1.4

Django 5.0 >= 5.0.10

Django 4.2 >= 4.2.17

五、参考链接

https://www.djangoproject.com/download/

评论
更换验证码
友情链接