cckuailong
读完需要
速读仅需 1 分钟
1
影响组件
Apache Airflow
2
组件简述
Apache Airflow(或简称 Airflow)是一个以编程方式创作、安排和监控工作流的平台。
3
漏洞概述
Apache Airflow 内置的 example_bash_operator 工作流中的 run_id 参数可以被执行,攻击者控制此参数并造成命令注入,从而 RCE。
4
影响版本
Apache Airflow < 2.4.0
5
环境搭建
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.3.4/docker-compose.yaml'
创建目录
mkdir -p ./dags ./logs ./plugins
echo -e "AIRFLOW_UID=$(id -u)" > .env
初始化
docker-compose up airflow-init
启动环境
docker-compose up -d
运行在 8080 端口
6
漏洞简析
登陆后漏洞,官方 docker-compose 拉起来的环境
用户名 / 密码:airflow / airflow
先来看看修复点
https://github.com/apache/airflow/pull/25960/files#diff-7c35dc3aa6659f910139c28057dfc663dd886dd0dfb3d8a971603c2ae7790d2a
看到这里的参数是 bash_command,看到这个参数之前看过 airflow 漏洞的同学应该可以瞬间联想到这个漏洞 CVE-2022-24288
P.S. CVE-2022-24288 复现文章:
https://www.cnblogs.com/sherlson/articles/16772729.html
那问题肯定出现在这里,如果我们可以控制 run_id 参数,就可以进行命令注入了
去配置页面看一下
这不就是 run_id 吗。。。
抓包看下,果然在这里
接下来愉快的命令注入吧,漏洞点在这里,Poc自己弄吧。。。
7
参考资料
https://github.com/apache/airflow/pull/25960/files#diff-7c35dc3aa6659f910139c28057dfc663dd886dd0dfb3d8a971603c2ae7790d2a
https://www.cnblogs.com/sherlson/articles/16772729.html