中危 Django 文件验证绕过漏洞

CVE编号

CVE-2023-31047

利用情况

暂无

补丁情况

官方补丁

披露时间

2023-05-03
漏洞描述
Django 是一个 Python 开发的开源Web框架,forms.FileField 和 forms.ImageField 是用于处理文件和图像上传的表单字段。
受影响版本在处理通过 forms.FileField 和 forms.ImageField 字段上传的多个文件时仅对最后一个文件进行校验,当 Django 项目中启用了 django.forms 应用并且在表单类中定义了 FileField 或 ImageField 字段时,攻击者可在同一个表单字段上传多个文件绕过验证,从而将恶意文件上传到 Django 服务器。补丁版本中用户可通过创建一个 field's widget 的子类并设置 allow_multiple_selected 为 True 缓解此漏洞。
解决建议
"升级Django到 3.2.19 或 4.1.9 或 4.2.1 或更高版本"
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
应用 djangoproject django * From
(including)
3.2
Up to
(excluding)
3.2.19
运行在以下环境
应用 djangoproject django * From
(including)
4.0
Up to
(excluding)
4.1.9
运行在以下环境
应用 djangoproject django 4.2 -
运行在以下环境
系统 debian_10 python-django * Up to
(excluding)
1.11.29-1+deb10u8
运行在以下环境
系统 debian_11 python-django * Up to
(excluding)
2.2.28-1~deb11u2
运行在以下环境
系统 debian_12 python-django * Up to
(excluding)
3.2.19-1
运行在以下环境
系统 fedoraproject fedora 38 -
运行在以下环境
系统 fedora_37 python-django3 * Up to
(excluding)
3.2.19-1.fc37
运行在以下环境
系统 fedora_38 python-django3 * Up to
(excluding)
3.2.19-1.fc38
运行在以下环境
系统 fedora_EPEL_8 python-django3 * Up to
(excluding)
3.2.19-1.el8
运行在以下环境
系统 opensuse_Leap_15.5 python3-Django * Up to
(excluding)
2.0.7-150000.1.11.1
运行在以下环境
系统 rocky_linux_8 libdb-cxx * Up to
(excluding)
5.3.28-42.el8_4
运行在以下环境
系统 ubuntu_18.04 python-django * Up to
(excluding)
1.11.11-1ubuntu1.21
运行在以下环境
系统 ubuntu_20.04 python-django * Up to
(excluding)
2.2.12-1ubuntu0.17
运行在以下环境
系统 ubuntu_22.04 python-django * Up to
(excluding)
3.2.12-2ubuntu1.6
运行在以下环境
系统 ubuntu_22.10 python-django * Up to
(excluding)
3.2.15-1ubuntu1.3
阿里云评分
6.7
  • 攻击路径
    远程
  • 攻击复杂度
    容易
  • 权限要求
    无需权限
  • 影响范围
    全局影响
  • EXP成熟度
    未验证
  • 补丁情况
    官方补丁
  • 数据保密性
    数据泄露
  • 数据完整性
    无影响
  • 服务器危害
    无影响
  • 全网数量
    N/A
CWE-ID 漏洞类型
CWE-20 输入验证不恰当
阿里云安全产品覆盖情况