CVE DatabaseCVE-2020-11978
한국어 권고문 →
CVE-2020-119788.8/HIGHCISA KEVCWE-78CWE-78

Apache Airflow Example DAG Remote Code Execution Vulnerability Analysis and Mitigation Guide (CVE-2020-11978)

⚡ Jump to Patch
Affected Vendors
apache
Affected Components
airflow
Published Date
2020-07-17
CVSS v3.1
8.8
HIGH
EPSS (30d)
99.2%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

Apache Airflow versions 1.10.10 and below with example DAGs enabled (load_examples=True)

Impact

Authenticated attackers can execute arbitrary OS commands with the privileges of the Airflow worker/scheduler by injecting malicious payloads into example DAG parameters

Mitigation

Upgrade Apache Airflow to version 1.10.11 or higher, or disable example DAGs by setting load_examples=False in airflow.cfg

Affected Products & Version Scope

Apache Airflow versions 1.10.10 and below (only vulnerable if load_examples is set to True)

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

The recommended remediation is to upgrade Apache Airflow to a non-vulnerable version (1.10.11 or higher, preferably 2.x). Use the following commands to perform the upgrade:

bash
# Upgrade Apache Airflow using pip
pip install --upgrade 'apache-airflow>=1.10.11'

# Restart Airflow services to apply changes
systemctl restart airflow-webserver
systemctl restart airflow-scheduler

2. Temporary Workaround & Hardening Configuration

If an immediate upgrade is not feasible, you can mitigate the vulnerability by disabling the loading of example DAGs in your airflow.cfg.

bash
# Disable example DAGs in airflow.cfg
sed -i 's/load_examples = True/load_examples = False/g' /root/airflow/airflow.cfg

# Restart the Airflow scheduler and webserver to apply the configuration change
systemctl restart airflow-scheduler
systemctl restart airflow-webserver

3. Log Audit & IoC Verification Commands

Run the following script to verify whether your Airflow environment is currently exposed to this vulnerability:

bash
# Check if example DAGs are enabled in the configuration file
if grep -E '^load_examples\s*=\s*True' /root/airflow/airflow.cfg; then
  echo '[WARNING] Vulnerable example DAGs are enabled. Please set load_examples = False.';
else
  echo '[OK] Example DAGs are disabled.';
fi
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Snyk Open Source & Container Security
Immediately set load_examples=False in your airflow.cfg and upgrade Apache Airflow to version 1.10.11 or higher to prevent remote code execution.

Scan Your Repositories for Transitive Vulnerable Dependencies in 30 Seconds

Automatically detect vulnerable packages across npm, PyPI, Maven, and Go, and open automated fix Pull Requests without breaking your build.

Free Forever Tier · 1-Click GitHub/GitLab Auto-PR
Master DevSecOps: Automated SAST/SCA in GitHub Actions & Kubernetes
View Course Curriculum

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability (CVE-2020-11978) is a remote command injection vulnerability (CWE-78) residing in one of the default example DAGs shipped with Apache Airflow versions 1.10.10 and below. The root cause is the lack of proper input validation and sanitization of user-supplied parameters before passing them to system shell commands within the example DAGs.

2. Exploitation Mechanics & Attack Scenario

An authenticated attacker with access to the Airflow Web UI or API can trigger a vulnerable example DAG (such as example_trigger_target_dag). By passing a crafted JSON configuration payload containing shell metacharacters (e.g., ;, &&, |), the attacker forces the Airflow worker or scheduler to execute arbitrary system commands during DAG execution. This vulnerability is actively exploited in the wild, as indicated by its inclusion in the CISA KEV catalog and an EPSS score exceeding 0.99.

3. Infrastructure & Business Impact

Successful exploitation allows attackers to run arbitrary code under the context of the OS user running the Airflow worker or scheduler process. This can lead to the exposure of sensitive credentials (database passwords, cloud API keys) stored in Airflow connections, lateral movement within the internal network, and complete compromise of data pipelines.

Official Vendor Advisories & References

NVD Original English 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.

Frequently Asked SecOps Questions (CVE-2020-11978)

FAQ

Q1. How critical is CVE-2020-11978 and is it actively exploited in the wild?

CVE-2020-11978 is rated CVSS 8.8 (HIGH) with a 30-day EPSS exploitation probability of 99.2%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2020-11978?

Primary impacted vendors include apache across airflow. Scope summary: Apache Airflow versions 1.10.10 and below (only vulnerable if load_examples is set to True)

Q3. What temporary mitigations or workarounds exist for CVE-2020-11978 before patching?

[Mitigation] Upgrade Apache Airflow to version 1.10.11 or higher, or disable example DAGs by setting load_examples=False in airflow.cfg Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2020-11978

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (apache)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2020-11978 Apache Airflow Example DAG Remote Code Execution Vulnerability Analysis and Mitigation Guide (CVE-2020-11978) (CVSS 8.8) - Patch & Workaround | CVE Pulse