airflow CVE-2020-11978 漏洞分析

CVE-2020-11978漏洞的一个示例是发现在Apache Airflow的示例dag文件中存在命令注入漏洞。攻击者可以通过该漏洞在Airflow服务器上执行恶意命令。

具体来说,该漏洞源于示例dag文件中的一个BashOperator任务,它执行了一个echo命令并将输出写入文件。该任务通过 { { ds }} 参数接收当前日期作为参数,并在命令行上执行。然而,该任务并没有对 ds 参数进行严格的验证和过滤,因此攻击者可以通过注入恶意命令来执行任意命令。

例如,攻击者可以将 { { ds }} 参数设置为 ;id,这样,在执行echo命令时,攻击者注入的id命令也会被执行。这样攻击者就可以在Airflow服务器上执行任意命令,例如查看系统信息、修改文件等等。

解决该漏洞的方法是删除示例dag文件或更改BashOperator任务中的命令以包含必要的输入验证和过滤。此外,还应该对其他Airflow任务和参数进行类似的审核和加固,以确保没有其他的命令注入漏洞存在。

验证漏洞

访问http://your-ip:8080进入airflow管理端,将example_trigger_target_dag前面的Off改为On:

请添加图片描述
再点击执行按钮,在Configuration JSON中输入:{"message":"'\";touch /tmp/airflow_dag_success;#"},再点Trigger执行dag:

请添加图片描述

等几秒可以看到执行成功:

请添加图片描述

到CeleryWorker容器中进行查看:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

不打赏也没关系,点点关注呀

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值