CVE-2023-22884的PoC是一个影响2.4.0之前版本的Apache Airflow RCE漏洞。
官方报告描述如下:
在Apache软件基金会的Apache Airflow和Apache Airflow MySQL Provider中存在命令中特殊元素未正确中和('命令注入')漏洞。该问题影响Apache Airflow版本:2.5.1之前;Apache Airflow MySQL Provider版本:4.0.0之前。(来源)
受影响版本的该软件包存在命令注入漏洞,原因是未对LOAD DATA LOCAL INFILE语句的输入进行净化,攻击者可以利用该漏洞在操作系统上执行命令。(来源)
该仓库是为一篇CVE分析博文创建的,该博文可在vsociety博客上获取。
你可以克隆仓库:
git clone https://github.com/jakabakos/CVE-2023-22884-Airflow-SQLi.git
cd CVE-2023-22884-Airflow-SQLi/airflow-2.5.0
使用 docker-compose run --build 运行。
结果,你应该在日志中看到webserver和其他组件已启动,并且在 localhost:8080 下有一个登录表单。默认用户名和密码是 airflow。
请参阅dags文件夹中的示例DAG。
你可以在测试模式和攻击模式下运行利用代码。
cd exploit
# 在测试模式下运行利用:
python3 exploit.py -u admin -p admin --host http://localhost:8080 --mode test -ci mysql -di bulk_load_from_file
# 在攻击模式下运行利用:
python3 exploit.py -u admin -p admin --host http://localhost:8080 --mode attack -ci mysql -di bulk_load_from_file -dc dag_config.json
本软件完全出于学术研究和开发有效防御技术的目的而创建,除非明确授权,否则不应用于攻击系统。项目维护者不对软件的滥用负责。请负责任地使用。