Apache Airflow SSH provider: SSHRemoteJobOperator: `environment` values are executed as shell on the remote host
Impact
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.
Source excerpt · apacheAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
Apache Software Foundation · Apache Airflow SSH provider
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 4.3.0 to before 7.0.1 | affected |
Original source description
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.