CVE-2020-11978 — Apache Airflow Command Injection

CVE-2020-11978

Apache Airflow — Command Injection in a Bundled Example DAG Enabled by Default

What is Apache Airflow?

Apache Airflow is a widely used open-source platform for authoring, scheduling, and monitoring data pipelines — "workflows as code" for data engineering teams, commonly deployed with access to databases, cloud storage, and other systems the pipelines need to orchestrate. Airflow ships with a set of "example DAGs" (workflow definitions) intended purely as reference material for new users, which some deployments leave enabled in production without realizing the examples themselves could carry risk.

Affected Versions

Product Vulnerable Fixed
Apache Airflow < 1.10.11 1.10.11

Overview

CVE-2020-11978 is a command injection vulnerability (CWE-78) in one of Airflow's bundled example DAGs. A low-privileged, authenticated user of an Airflow installation that has example DAGs enabled — the default configuration in affected versions — can trigger the vulnerable example DAG to inject and execute arbitrary operating system commands (CVSS 3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, 8.8 High).

Technical Details

The vulnerable example DAG passes user-influenced parameters into a shell command without adequate sanitization. Because example DAGs are shipped enabled by default and are reachable by any authenticated Airflow user with permission to trigger DAG runs — not necessarily a full administrator — the practical privilege bar for exploitation is lower than the CVE's product description might suggest.

Discovery

Reported through Apache's standard security disclosure process and fixed in Airflow 1.10.11.

Exploitation Context

CISA added this CVE to KEV in January 2022 based on confirmed exploitation. This vulnerability is a clear example of a recurring theme across this era's CVEs: default configurations and bundled example content, meant purely for reference or onboarding, becoming a real production attack surface when left enabled — the same pattern seen with default API keys, example modules, and reference implementations across many other products.

Remediation

  1. Upgrade to Apache Airflow 1.10.11 or later immediately.
  2. Disable example DAGs in your Airflow configuration (load_examples = False) regardless of version, as a general hardening practice — production Airflow instances have no legitimate need for the example/reference DAGs to be loaded.
  3. Restrict which users can trigger DAG runs to the minimum necessary, since exploitation only requires DAG-trigger permission, not full administrative access.
  4. Audit DAG run history for unexpected executions of example DAGs if your instance ran an affected version with examples enabled.

Key Details

PropertyValue
CVE ID CVE-2020-11978
Vendor / Product Apache — Airflow
NVD Published2020-07-17
NVD Last Modified2025-10-23
CVSS 3.1 Score8.8
CVSS 3.1 VectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
SeverityHIGH
CWE CWE-78 find similar ↗
CISA KEV Added2022-01-18
CISA KEV Deadline2022-07-18
Known Ransomware Use No

CVSS 3.1 Breakdown

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Required Action

CISA BOD 22-01 Deadline: 2022-07-18. Apply updates per vendor instructions.

Timeline

DateEvent
2020-07-17CVE published; fixed in Apache Airflow 1.10.11
2022-01-18Added to CISA Known Exploited Vulnerabilities catalog
2022-07-18CISA BOD 22-01 remediation deadline

References

ResourceType
Apache Airflow Release Notes (fixed in 1.10.11) Vendor Advisory
NVD — CVE-2020-11978 Vulnerability Database
CISA KEV Catalog Entry US Government