漏洞深度分析 | CVE-2023-36053-Django 表达式拒绝服务

这篇具有很好参考价值的文章主要介绍了漏洞深度分析 | CVE-2023-36053-Django 表达式拒绝服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目介绍

Django 是一个高级 Python Web 框架,鼓励快速开发和简洁、务实的设计。它由经验丰富的开发人员构建,解决了 Web 开发的大部分麻烦,因此您可以专注于编写应用程序,而无需重新发明轮子。它是免费且开源的。

项目地址

https://github.com/django/django

https://github.com/django/django/releases/tag/4.2.2

漏洞概述

当处理电子邮件和URL的域名标签数量非常大时,可能会导致正则表达式拒绝服务攻击。这是因为正则表达式的处理时间与输入的长度呈指数关系,如果输入的长度非常大会导致处理时间过长,实现DoS。

影响版本

Django main branch

Django 4.2

Django 4.1

Django 3.2

漏洞分析

根据patch代码分析漏洞点及原理如下:

在URLValidator中,增加了一个max_length属性,其值为2048,用于限制URL的最大长度。如果URL的长度超过这个值,将会抛出一个验证错误。

class URLValidator(RegexValidator):
...
max_length = 2048
...
def __call__(self, value):
if not isinstance(value, str) or len(value) > self.max_length:
raise ValidationError(self.message, code=self.code, params={'value': value})

对于EmailValidator,同样增加了长度的限制。根据RFC 3696的第3节,电子邮件的最大长度为320个字符。如果电子邮件的长度超过这个值,也将抛出一个验证错误。

class EmailValidator:
...
def __call__(self, value):
if not value or '@' not in value or len(value) > 320:
raise ValidationError(self.message, code=self.code, params={'value': value})

在EmailField中,将max_length的默认值设置为320,以符合RFC 3696的规定。

class EmailField(CharField):
...
def __init__(self, **kwargs):
kwargs.setdefault("max_length", 320)
super().__init__(strip=True, **kwargs)

漏洞深度分析 | CVE-2023-36053-Django 表达式拒绝服务,django,开源

这些修改都是为了限制输入的长度,从而防止正则表达式处理时间过长,避免了ReDoS攻击。

攻击者可以通过提供一个超过长度限制的URL来触发这个漏洞。例如可以提供一个长度超过253个字符的URL。当这个输入被URLValidator处理时,由于正则表达式的处理时间与输入的长度呈指数关系,所以可能会导致处理时间过长实现导致服务拒绝。

修复方式

厂商已发布了漏洞修复程序,请用户尽快更新至安全版本。

版本链接:
https://www.djangoproject.com/weblog/2023/jul/03/security-releases/

修复方式

https://www.djangoproject.com/weblog/2023/jul/03/security-releases/

https://github.com/django/django/commit/b7c5feb35a31799de6e582ad6a5a91a9de74e0f9文章来源地址https://www.toymoban.com/news/detail-561074.html

到了这里,关于漏洞深度分析 | CVE-2023-36053-Django 表达式拒绝服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Winrar代码执行漏洞(CVE-2023-38831)的原理分析

    Winrar代码执行漏洞(CVE-2023-38831)的原理分析

    背景 在2023年8月23日,Group-IB威胁情报机构发布了一份报告,详细介绍了WinRAR任意执行漏洞CVE-2023-38831的攻击活动。根据该报告,这个漏洞最早于2023年4月被攻击者利用,然后在2023年7月被Group-IB威胁情报机构发现并报告给了RARLAB。最终,RARLAB在2023年8月2日发布了修复了CVE-2023-

    2024年02月08日
    浏览(9)
  • cPanel XSS漏洞分析研究(CVE-2023-29489)

    cPanel 是一套在网页寄存业中最享负盛名的商业软件,是基于于 Linux 和 BSD 系统及以 PHP 开发且性质为闭源软件;提供了足够强大和相当完整的主机管理功能,诸如:Webmail 及多种电邮协议、网页化 FTP 管理、SSH 连线、数据库管理系统、DNS 管理等远端网页式主机管理软件功能。

    2024年02月02日
    浏览(54)
  • [漏洞分析] 用chatGPT分析CVE-2023-0386 overlay内核提权

    [漏洞分析] 用chatGPT分析CVE-2023-0386 overlay内核提权

    本文的理论知识(命名空间、overlay文件系统、fuse文件系统等)均来自chatGPT。 漏洞编号: CVE-2023-0386 漏洞产品: linux kernel - overlay文件系统 影响范围: 5.11 ~ 5.19 利用条件: 可以unshar 或可以创建overlay文件系统 利用效果: 本地提权 自己编译内核: 准备漏洞版本范围内的,5.15版本之

    2024年02月05日
    浏览(15)
  • CVE-2023-5129 libwebp堆缓冲区溢出漏洞影响分析

    CVE-2023-5129 libwebp堆缓冲区溢出漏洞影响分析

    近日苹果、谷歌、Mozilla和微软等公司积极修复了libwebp组件中的缓冲区溢出漏洞,相关时间线如下: 9月7日,苹果发布紧急更新,修复了此前由多伦多大学公民实验室报告的iMessage 0-click 漏洞,漏洞被认为已经被NSO公司的Pegasus间谍软件所利用,漏洞编号CVE-2023-41064; 9月8日,

    2024年02月08日
    浏览(10)
  • CVE-2023-36874 Windows错误报告服务本地权限提升漏洞分析

    CVE-2023-36874 Windows错误报告服务本地权限提升漏洞分析

    漏洞简介 Windows错误报告服务在提交错误报告前会创建 wermgr.exe 进程,而攻击者使用特殊手法欺骗系统创建伪造的wermgr.exe进程,从而以 system 权限执行代码。 影响版本 危害等级 7.8 ∣ H I G H textcolor{Red}{7.8 | HIGH} 7.8∣ H I G H 漏洞复现 首先在C盘下创建一个目录testsystem32,然后将

    2024年02月11日
    浏览(12)
  • MinIO verify 接口敏感信息泄露漏洞分析(CVE-2023-28432)

    MinIO verify 接口敏感信息泄露漏洞分析(CVE-2023-28432)

    漏洞描述: MinIO 是一种开源的对象存储服务,它兼容 Amazon S3 API,可以在私有云或公有云中使用。MinIO 是一种高性能、高可用性的分布式存储系统,它可以存储大量数据,并提供对数据的高速读写能力。MinIO 采用分布式架构,可以在多个节点上运行,从而实现数据的分布式存

    2023年04月08日
    浏览(16)
  • libcurl Socks5 堆缓冲区溢出漏洞(CVE-2023-38545)详细分析

    libcurl Socks5 堆缓冲区溢出漏洞(CVE-2023-38545)详细分析

    curl 是用于在各种网络协议之间传输数据的命令行工具,libcurl 用于提供处理网络通信和数据传输的 Api 接口。curl 默认下载缓冲区为 102400 字节,但如果设置低于每秒 102400 字节,缓冲区大小会自动设置为更小的值。libcurl 下载缓冲区默认为 16KB,应用程序可通过 CURLOPT_BUFFERSI

    2024年02月08日
    浏览(10)
  • 离线分析fsimage文件进行数据深度分析

    离线分析fsimage文件进行数据深度分析

      FsImage文件时HDFS存放在NameNode中的镜像文件,里面包括了整个HDFS集群的目录和文件信息,(类似于一个索引目录+部分数据的文件),而且HDFS提供了命令可以将FsImage文件转成CSV文件,可以用它在Hive上进行分析。目前fsiamge一般都是几十g的级别。    FsImage字段一览 字段名 中

    2024年02月11日
    浏览(13)
  • 深度学习架构的对比分析

    深度学习架构的对比分析

    深度学习的概念源于人工神经网络的研究,含有多个隐藏层的多层感知器是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示,以表征数据的类别或特征。它能够发现数据的分布式特征表示。深度学习是机器学习的一种,而机器学习是实现人工智能的必

    2024年02月04日
    浏览(13)
  • 深度分析:如何轻松掌握文件大小管理

    深度分析:如何轻松掌握文件大小管理

    大家好,今天我要与大家分享一个实用至极的脚本。简单易用,但效果却让人惊艳。它可以在几秒钟内完成文件大小的统计,并生成一份统计信息。 功能概览 完整性分析: 一次性告诉你不同大小区间的文件分布,让你一目了然。 速度超快: 忘掉繁琐的手动查找和统计,这

    2024年02月10日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包