Authenticated command execution via unescaped DAG message
Published Jul 16, 2020 · Updated Oct 21, 2025
Command injection in Apache Airflow 1.10.10 and earlier allows remote authenticated users to execute commands via an example DAG. The bash_task in example_trigger_target_dag.py interpolates dag_run.conf.message directly into its Bash command without escaping, allowing shell syntax to replace the intended echo operation. Exploitation requires the example DAG to be loaded and executed, runs with the worker or scheduler account's privileges, and also permits unauthenticated access when the experimental API's authentication is disabled.
Summary
What happened
Command injection in Apache Airflow 1.10.10 and earlier allows remote authenticated users to execute commands via an example DAG. The bash_task in example_trigger_target_dag.py interpolates dag_run.conf.message directly into its Bash command without escaping, allowing shell syntax to replace the intended echo operation. Exploitation requires the example DAG to be loaded and executed, runs with the worker or scheduler account's privileges, and also permits unauthenticated access when the experimental API's authentication is disabled.
The record
- CVE
- CVE-2020-11978
- Published
- Jul 16, 2020
- Updated
- Oct 21, 2025
- Vendor
- The Apache Software Foundation
- Product
- Apache Airflow
- Classifications
- CWE-77, CWE-78, T1059.004
- Attack vector
- network
- Privileges
- authenticated
Timeline
How it unfolded
- Jul 16, 2020CVE publishedPublication date reported by the CVE source.
- Oct 21, 2025Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=1.10.10 and below
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Activity data is delayed. The latest report is Sep 28, 2026.
View daily counts
| Reporting day | Unique IPs |
|---|---|
| Sep 22, 2026 | 1 |
| Sep 23, 2026 | 2 |
| Sep 24, 2026 | 9 |
| Sep 25, 2026 | 3 |
| Sep 26, 2026 | 2 |
| Sep 27, 2026 | 2 |
| Sep 28, 2026 | 2 |
Weakness, pattern, technique
Public exploit references
- Apache Airflow 1.10.10 - Example DAG Remote Code Executionfunctional · unverified
- CVE-2020-11978 example DAG proof of conceptproof of concept · unverified
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Reported exploitation
- CISA Known Exploited Vulnerabilities catalog inclusionknown exploited catalog
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Get started to see how Hinoki identifies affected software and validates exploitability in your environment.
Contact us