CVE-2020-11981 Apache Airflow Celery 消息中间件命令执行漏洞复现

目录

一、漏洞信息

二、环境搭建

三、复现过程

四、修复建议


一、漏洞信息

漏洞名称 APACHE AIRFLOW CELERY 消息中间件命令执行漏洞
漏洞编号 CVE-2020-11978
危害等级 高危
CVSS评分 7.5
漏洞厂商 Apache
受影响版本 Apache Airflow <= 1.10.10
漏洞概述 Apache Airflow是一款开源的,分布式任务调度框架。在其1.10.10版本及以前,如果攻击者控制了Celery的消息中间件(如Redis/RabbitMQ),将可以通过控制消息,在Worker进程中执行任意命令。

二、环境搭建

使用vulhub提供的镜像容器进行靶场搭建:

docker-compose run airflow-init #初始化数据库

CVE-2020-11981 Apache Airflow Celery 消息中间件命令执行漏洞复现_第1张图片

docker-compose up -d #启动靶场环境

CVE-2020-11981 Apache Airflow Celery 消息中间件命令执行漏洞复现_第2张图片

三、复现过程

1.测试漏洞,在服务器端创建文件

1.1通过未授权访问,使用exploit_airflow_celery.py这个脚本来利用airflow.executors.celery_executor.execute_command执行任意命令:

CVE-2020-11981 Apache Airflow Celery 消息中间件命令执行漏洞复现_第3张图片

1.2在攻击机kali(192.168.92.130)上执行该脚本:

CVE-2020-11981 Apache Airflow Celery 消息中间件命令执行漏洞复现_第4张图片

CVE-2020-11981 Apache Airflow Celery 消息中间件命令执行漏洞复现_第5张图片

1.3:回到服务端使用docker-compose logs airflow-worker命令查看,并进入容器观察发现成功:

CVE-2020-11981 Apache Airflow Celery 消息中间件命令执行漏洞复现_第6张图片

CVE-2020-11981 Apache Airflow Celery 消息中间件命令执行漏洞复现_第7张图片

1.4修改脚本command,显示信息,如whoami:

CVE-2020-11981 Apache Airflow Celery 消息中间件命令执行漏洞复现_第8张图片

1.5回到服务端查看:

四、修复建议

请及时升级至1.10.10版本以上,可从官网获取。

你可能感兴趣的:(教程,漏洞复现,网络安全,web安全,安全,学习,apache)