目录
一、漏洞信息
漏洞名称 | 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 #初始化数据库
docker-compose up -d #启动靶场环境
三、复现过程
1.测试漏洞,在服务器端创建文件
1.1通过未授权访问,使用exploit_airflow_celery.py这个脚本来利用airflow.executors.celery_executor.execute_command执行任意命令:
1.2在攻击机kali(192.168.92.130)上执行该脚本:
1.3:回到服务端使用docker-compose logs airflow-worker命令查看,并进入容器观察发现成功:
1.4修改脚本command,显示信息,如whoami:
1.5回到服务端查看:
四、修复建议
请及时升级至1.10.10版本以上,可从官网获取。