Apache Airflow SSH provider: OS command injection in SSHRemoteJobOperator
Summary
The SSHRemoteJobOperator of the Apache Airflow SSH provider quoted values of the templated environment parameter only once, although they are placed inside an already quoted wrapper script. Shell syntax such as $(...) in a value is therefore executed on the remote SSH host. A user who can trigger a DAG that passes trigger-time input such as params or dag_run.conf into environment, but cannot author DAGs, can run arbitrary commands as the SSH connection user.
Affected
- apache-airflow-providers-ssh from 4.3.0 before 7.0.1
- Default configuration: not affected (according to the CVE record)
Fixed in
- apache-airflow-providers-ssh 7.0.1 or later
Workaround
- No official workaround known. Upgrading to 7.0.1 or later is the fix.
- Until patched, do not pass trigger-time inputs (params, dag_run.conf) into environment.
- Restrict which users may trigger affected DAGs.
Exploitation
- No known exploitation in the wild.
- CISA SSVC assessment: Exploitation none, Automatable no, Technical Impact total.
- The upstream issue and fix PR describe the mechanism publicly.
Our recommendation
- Upgrade apache-airflow-providers-ssh to 7.0.1 or later where the provider is used.
- Until the upgrade, do not pass trigger-time inputs into environment.
- Limit who can trigger DAGs that use SSHRemoteJobOperator.
- Use SSH accounts with minimal privileges on remote hosts.
- Review DAGs for this pattern and monitor remote hosts for unexpected commands.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- Apache Airflow SSH provider 7.0.1 changelog airflow.apache.org
- Upstream fix PR #74810 github.com
- Upstream issue #74601 github.com
- Apache mailing list thread lists.apache.org
- oss-security post www.openwall.com
- OpenCVE CVE-2026-111422 app.opencve.io
- Apache Airflow provider packages reference airflow.apache.org
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 31 Oct 2026, 10:23.
Original description (NVD)
In apache-airflow-providers-ssh before 7.0.1, SSHRemoteJobOperator quoted the values of its templated `environment` parameter only once, although they are placed inside an already-quoted wrapper script, so shell syntax such as `$(...)` in a value was executed on the remote SSH host. In a Dag that passes trigger-time input such as `params` or `dag_run.conf` into `environment`, a user who can trigger that Dag but cannot author Dags could run arbitrary commands on the remote host as the SSH connection's user. Users are advised to upgrade apache-airflow-providers-ssh to 7.0.1 or later.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
