0x01漏洞简述
2021年01月22日,360CERT监测发现Drupal
发布了Drupal 目录穿越漏洞
的风险通告,该漏洞编号为CVE-2020-36193
,漏洞等级:高危
,漏洞评分:7.2
。
远程攻击者通过构造包含符号链接的.tar
、.tar.gz
、.bz2
、.tlz
文件,结合 drupal 系统中的上传点,可造成任意代码执行
。
对此,360CERT建议广大用户及时将Drupal
升级到最新版本。与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。
0x02风险等级
360CERT对该漏洞的评定结果如下
评定方式 | 等级 |
---|---|
威胁等级 | 高危 |
影响面 | 广泛 |
360CERT评分 | 7.2 |
0x03漏洞详情
CVE-2020-36193: 目录穿越漏洞
Drupal 是使用 PHP 语言编写的开源内容管理框架( CMF ),它由内容管理系统( CMS )和 PHP 开发框架( Framework )共同构成。
pear
,composer
是 php 的插件管理/包管理系统,目前composer
更为通用和流行。
drupal
使用composer
作为包管理系统,并引用了存在严重漏洞的"pear/archive_tar": "1.4.11"
。
pear Archive_Tar 在处理tar类型文件时未对符号链接进行严格校验导致目录穿越,使得drupal
在处理 tar 压缩的文件时可以触发该漏洞,如果构造得当攻击者将获得drupal
服务器控制权限。
攻击者通过上传特制的 tar 类型文件,利用解压过程中的目录穿越漏洞可以将web shell 解压至 web目录,并导致攻击者获得 drupal 服务器控制权限。
Archive_Tar 修复对比,也能发现主要针对符号链接进行了处理
漏洞证明
根据 Archive_Tar 的修复,作出如下测试,当处理 tar 文件时,通过构造将whatever-filename
解压到了设置的/tmp
目录。
0x04影响版本
– Drupal:Drupal
: < 9.1.3
– Drupal:Drupal
: < 9.0.11
– Drupal:Drupal
: < 8.9.13
– Drupal:Drupal
: < 7.78
0x05安全版本
– Drupal:Drupal
: 9.1.3
– Drupal:Drupal
: 9.0.11
– Drupal:Drupal
: 8.9.13
– Drupal:Drupal
: 7.78
0x06修复建议
通用修补建议
升级到最新版本:
升级到 drupal安全版本
,并执行composer install
更新依赖组件的版本。
– Drupal 9.1 版本用户, 升级到Drupal 9.1.3
– Drupal 9.0 版本用户, 升级到Drupal 9.0.11
– Drupal 8.9 版本用户, 升级到Drupal 8.9.13
– Drupal 7 版本用户, 升级到Drupal 7.78
临时修补建议
禁止用户上传.tar
、.tar.gz
、.bz2
或.tlz
文件。
或利用composer
卸载相关组件
操作可能会影响系统处理 tar 文件的相关功能,请评估后使用
composer remove pear/archive_tar
修复检查方式
默认情况下composer
会将组件安装至应用根目录下的vendor
文件。可通过grep
进行简单搜索
grep -irn "class Archive_Tar extends PEAR" *
如果存在结果可以手工删除相关文件,即可缓解漏洞影响。
0x07相关空间测绘数据
360安全大脑-Quake网络空间测绘系统通过对全网资产测绘,发现Drupal
在全球
均有广泛使用,具体分布如下图所示。
0x08产品侧解决方案
360城市级网络安全监测服务
360CERT的安全分析人员利用360安全大脑的QUAKE资产测绘平台(quake.360.cn),通过资产测绘技术的方式,对该漏洞进行监测。可联系相关产品区域负责人或(quake#360.cn)获取对应产品。
0x09时间线
2021-01-20 Drupal官方发布通告
2021-01-22 360CERT发布通告
0x0a参考链接
0x0b特制报告下载链接
一直以来,360CERT对全球重要网络安全事件进行快速通报、应急响应。为更好地为政企用户提供最新漏洞以及信息安全事件的安全通告服务,现360CERT正式推出安全通告特制版报告,以便用户做资料留存、传阅研究与查询验证。 用户可直接通过以下链接进行特制报告的下载。
若有订阅意向与定制需求请发送邮件至 g-cert-report#360.cn ,并附上您的 公司名、姓名、手机号、地区、邮箱地址。