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.
CVE-2020-11978
Score elevated to 9.0 because this CVE is listed on the CISA Known Exploited Vulnerabilities catalog (added 2022-01-18), indicating real-world exploitation has been confirmed by US federal agencies. NVD baseline CVSS 8.8 retained for reference. Confidence: HIGH.
- Actively exploited in the wild (CISA-KEV)
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 8.8
- EG Score
- 9.0(high)
- EG Risk
- 81(Attend)EG Risk 81/100SSVC: Attend
EG Risk is EchelonGraph's 0–100 priority score. It fuses intrinsic severity with real-world exploitation and automatability, so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. It is distinct from the 0–10 EG Score, which measures severity.
How it’s computedSeverity90% × 45%Exploitation100% × 40%Automatability0% × 15%Action: Remediate soon — notable exploitation risk. - EPSS
- 99.9%
- KEV
- ⚠ Exploited
Published
July 17, 2020
Last Modified
October 23, 2025
Advisory Details (2)
Auto-updated Jun 2, 2026Known Exploited Vulnerabilities Catalog | CISA
Known Exploited Vulnerabilities Catalog | CISA. Listed in CISA Known Exploited Vulnerabilities catalog.
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-11978Affected Packages
(1 across 1 ecosystem)
PyPI(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| apache-airflow | 1.8.1 ... 1.10.10 (44 versions) | 1.10.11rc1 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 9× in last 7d / 25× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-22 23:51 UTCEG score recompute
- 2026-07-22 22:33 UTCEG score recompute
- 2026-07-22 19:40 UTCCISA KEV update
- 2026-07-21 14:37 UTCCISA KEV update
- 2026-07-19 04:48 UTCEG score recompute
- 2026-07-19 02:26 UTCEPSS rescore
- 2026-07-19 02:26 UTCEPSS rescore
- 2026-07-17 09:55 UTCEG score recompute
- 2026-07-16 17:04 UTCCISA KEV update
- 2026-07-15 16:49 UTCCISA KEV update
- 2026-07-15 15:04 UTCCISA KEV update
- 2026-07-14 18:05 UTCCISA KEV update
- 2026-07-13 17:07 UTCCISA KEV update
- 2026-07-10 17:52 UTCCISA KEV update
- 2026-07-09 19:06 UTCEPSS rescore
- 2026-07-07 19:01 UTCCISA KEV update
- 2026-07-07 17:16 UTCCISA KEV update
- 2026-07-04 06:28 UTCEPSS rescore
- 2026-07-01 19:16 UTCCISA KEV update
- 2026-06-29 19:12 UTCCISA KEV update
- 2026-06-28 14:05 UTCEPSS rescore
- 2026-06-28 04:54 UTCEPSS rescore
- 2026-06-28 04:54 UTCEPSS rescore
- 2026-06-25 19:15 UTCCISA KEV update
- 2026-06-23 17:44 UTCCISA KEV update
Show 29 moreShow fewer
- 2026-06-18 16:13 UTCCISA KEV update
- 2026-06-16 19:33 UTCCISA KEV update
- 2026-06-15 19:33 UTCCISA KEV update
- 2026-06-15 17:46 UTCEPSS rescore
- 2026-06-12 23:09 UTCEPSS rescore
- 2026-06-12 17:35 UTCCISA KEV update
- 2026-06-11 19:10 UTCCISA KEV update
- 2026-06-10 13:20 UTCEPSS rescore
- 2026-06-09 18:42 UTCCISA KEV update
- 2026-06-09 17:12 UTCCISA KEV update
- 2026-06-08 19:16 UTCCISA KEV update
- 2026-06-08 17:26 UTCCISA KEV update
- 2026-06-06 13:45 UTCEPSS rescore
- 2026-06-06 13:45 UTCEPSS rescore
- 2026-06-06 13:45 UTCEPSS rescore
- 2026-06-05 22:43 UTCCISA KEV update
- 2026-06-03 19:09 UTCCISA KEV update
- 2026-06-02 20:11 UTCEPSS rescore
- 2026-06-02 20:11 UTCEPSS rescore
- 2026-06-02 18:32 UTCCISA KEV update
- 2026-06-01 20:42 UTCCISA KEV update
- 2026-06-01 13:50 UTCEPSS rescore
- 2026-05-29 22:20 UTCCISA KEV update
- 2026-05-28 13:43 UTCEPSS rescore
- 2026-05-28 13:43 UTCEPSS rescore
- 2026-05-27 20:35 UTCCISA KEV update
- 2026-05-26 19:16 UTCEG score recompute
- 2026-05-26 19:13 UTCCISA KEV update
- 2026-05-24 22:12 UTCOSV refresh
Publicly available exploits
(4 references)Working exploit code is in the public domain (1 Metasploit module) (1 GitHub PoC) (1 Exploit-DB entry). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- Exploit-DBEDB-49927First seen Jun 2, 2021
Apache Airflow 1.10.10 - 'Example Dag' Remote Code Execution
Open source ↗ - GitHub PoCpberba/CVE-2020-11978First seen May 22, 2021
PoC of how to exploit a RCE vulnerability of the example DAGs in Apache Airflow <1.10.11
Open source ↗ - Metasploitexploit/linux/http/apache_airflow_dag_rce✓ verifiedFirst seen Jul 14, 2020
Apache Airflow 1.10.10 - Example DAG Remote Code Execution
Open source ↗ - Nucleihttp/cves/2020/CVE-2020-11978.yamlFirst seen Jan 1, 2020
Apache Airflow <=1.10.10 - Remote Code Execution
Open source ↗
Related CVEs(same CWE)
Same CWE
10 shownCWE-78
Frequently asked(6)
What is CVE-2020-11978?
When was CVE-2020-11978 disclosed?
Is CVE-2020-11978 actively exploited?
What is the CVSS score of CVE-2020-11978?
Which products are affected by CVE-2020-11978?
How do I remediate CVE-2020-11978?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2020-11978
Is Your Infrastructure Affected by CVE-2020-11978?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.