(CVE-2022-40127) Apache Airflow example_bash_operator RCE
2022-11-18 17:37:52 Author: 我不是Hacker(查看原文) 阅读量:66 收藏

cckuailong

读完需要

3
分钟

速读仅需 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 ./pluginsecho -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


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwNDI1NDUwMQ==&mid=2247486407&idx=1&sn=8ec025eff55efa4a3ee936eeff76969d&chksm=c0888e8df7ff079b0dda22ed6c987b4bcd706b77bcd4fa89a126e96e22e005efb8a602baa5c0#rd
如有侵权请联系:admin#unsafe.sh