Django是一个基于Python的开源Web应用框架。
5月4日,启明星辰VSRC监测到Django项目发布安全公告,修复了Django中的一个文件上传验证绕过漏洞(CVE-2023-31047)。在受影响的Django版本中,当使用一个表单字段上传多个文件时仅验证最后上传的文件,这可能会绕过验证,导致文件上传。
二、影响范围
Django版本4.2:< 4.2.1
Django版本4.1:< 4.1.9
Django版本3.2:< 3.2.19
三、安全措施
3.1 升级版本
目前该漏洞已经修复,受影响用户可升级到以下版本:
Django版本4.2:>=4.2.1
Django版本4.1:>=4.1.9
Django版本3.2:>=3.2.19
下载链接:
https://www.djangoproject.com/weblog/2023/may/03/security-releases/
注:为避免该漏洞,ClearableFileInput和FileInput表单部件现在在设置多个HTML属性时会引发ValueError。
如果想使用一个表单字段上传多个文件,创建一个字段的部件的子类,并将其上的allow_multiple_selected属性设置为True。
3.2 临时措施
暂无。
3.3 通用建议
定期更新系统补丁,减少系统漏洞,提升服务器的安全性。
加强系统和网络的访问控制,修改防火墙策略,关闭非必要的应用端口或服务,减少将危险服务(如SSH、RDP等)暴露到公网,减少攻击面。
使用企业级安全产品,提升企业的网络安全性能。
加强系统用户和权限管理,启用多因素认证机制和最小权限原则,用户和软件权限应保持在最低限度。
启用强密码策略并设置为定期修改。
3.4 参考链接
https://www.djangoproject.com/weblog/2023/may/03/security-releases/
https://docs.djangoproject.com/en/4.2/topics/http/file-uploads/#uploading-multiple-files