摘要:
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
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)
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 |
软件名称 | 架构 | 版本号 |
---|---|---|
python-django-help | noarch | 2.2.27-12.kb1.ky3_4 |
python3-Django | noarch | 2.2.27-12.kb1.ky3_4 |
方法一:下载安装包进行升级安装
1、通过下载链接下载需要升级的升级包保存,如 xxx.rpm
2、通过rpm命令升级,如 rpm -Uvh xxx.rpm
方法二:通过软件源进行升级安装
1、保持能够连接上互联网
2、通过yum命令升级指定的包,如 yum install 包名