• 公告ID (KylinSec-SA-2024-4088)

摘要:

python-django security update

安全等级: Critical

公告ID: KylinSec-SA-2024-4088

发布日期: 2024年10月18日

关联CVE: CVE-2024-39329   CVE-2024-42005   CVE-2024-41989   CVE-2024-39614   CVE-2024-39330   CVE-2024-38875   CVE-2024-41991   CVE-2024-41990   CVE-2024-45230   CVE-2024-45231  

  • 详细介绍

1. 漏洞描述

   

Django 是一个高级的 Python Web 框架,它鼓励快速开发和清晰、实用的设计。

安全修复:

在 Django 4.2 的 4.2.14 版本之前以及 5.0 的 5.0.7 版本之前,发现 urlize 和 urlizetrunc 可能会因为包含大量括号的某些输入而受到潜在的拒绝服务攻击。(CVE-2024-38875)

在 Django 5.0 的 5.0.7 版本之前和 4.2 的 4.2.14 版本之前,发现 django.contrib.auth.backends.ModelBackend.authenticate() 方法允许远程攻击者通过涉及具有不可用密码的用户的登录请求的时序攻击来枚举用户。(CVE-2024-39329)

在 Django 5.0 的 5.0.7 版本之前和 4.2 的 4.2.14 版本之前,django.core.files.storage.Storage 基类的派生类在重写 generate_filename() 方法时,如果没有复制父类中的文件路径验证,则可能会在 save() 调用期间通过某些输入允许目录遍历。(内置 Storage 子类不受影响。)(CVE-2024-39330)

在 Django 5.0 的 5.0.7 版本之前和 4.2 的 4.2.14 版本之前,当使用包含特定字符的非常长字符串时,get_supported_language_variant() 可能会受到潜在的拒绝服务攻击。(CVE-2024-39614)

在 Django 5.0 的 5.0.8 版本之前和 4.2 的 4.2.15 版本之前,当给定科学记数法中表示数字的字符串且指数很大时,floatformat 模板过滤器会消耗大量内存。(CVE-2024-41989)

在 Django 5.0 的 5.0.8 版本之前和 4.2 的 4.2.15 版本之前,urlize() 和 urlizetrunc() 模板过滤器可能会因为具有特定字符序列的非常大输入而受到潜在的拒绝服务攻击。(CVE-2024-41990)

在 Django 5.0 的 5.0.8 版本之前和 4.2 的 4.2.15 版本之前,urlize 和 urlizetrunc 模板过滤器以及 AdminURLFieldWidget 小部件可能会因为包含大量 Unicode 字符的某些输入而受到潜在的拒绝服务攻击。(CVE-2024-41991)

在 Django 5.0 的 5.0.8 版本之前和 4.2 的 4.2.15 版本之前,对于具有 JSONField 的模型,QuerySet.values() 和 values_list() 方法可能会因为作为传递的 *arg 的精心制作的 JSON 对象键而在列别名中受到 SQL 注入攻击。(CVE-2024-42005)

在 Django 5.1 的 5.1.1 版本之前、5.0 的 5.0.9 版本之前以及 4.2 的 4.2.16 版本之前,urlize() 和 urlizetrunc() 模板过滤器可能会因为具有特定字符序列的非常大输入而受到潜在的拒绝服务攻击。(CVE-2024-45230)

在 Django 的 v5.1.1、v5.0.9 和 v4.2.16 版本中,当在实现密码重置流程的视图中使用 django.contrib.auth.forms.PasswordResetForm 类时,如果电子邮件发送始终失败,则远程攻击者可以通过发送密码重置请求并观察结果来枚举用户的电子邮件地址。(CVE-2024-45231)

2. 影响范围

cve名称 产品 组件 是否受影响
CVE-2024-39329 KY3.4-5A python-django Fixed
CVE-2024-42005 KY3.4-5A python-django Fixed
CVE-2024-41989 KY3.4-5A python-django Fixed
CVE-2024-39614 KY3.4-5A python-django Fixed
CVE-2024-39330 KY3.4-5A python-django Fixed
CVE-2024-38875 KY3.4-5A python-django Fixed
CVE-2024-41991 KY3.4-5A python-django Fixed
CVE-2024-41990 KY3.4-5A python-django Fixed
CVE-2024-45230 KY3.4-5A python-django Fixed
CVE-2024-45231 KY3.4-5A python-django Fixed

3. 影响组件

    python-django

4. 修复版本

   

KY3.4-5A

软件名称 架构 版本号
python-django-help noarch 2.2.27-12.kb1.ky3_4
python3-Django noarch 2.2.27-12.kb1.ky3_4

5. 修复方法


方法一:下载安装包进行升级安装
1、通过下载链接下载需要升级的升级包保存,如 xxx.rpm
2、通过rpm命令升级,如 rpm -Uvh xxx.rpm

方法二:通过软件源进行升级安装
1、保持能够连接上互联网
2、通过yum命令升级指定的包,如 yum install 包名

6. 下载链接

   

KY3.4-5A:

x86_64:

     python-django-help   

     python3-Django   

aarch64:

     python-django-help   

     python3-Django   

上一篇:KylinSec-SA-2024-4087 下一篇:KylinSec-SA-2024-4089