OS Command Injection in Apache Airflow
The advisory, in context
Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in Apache Airflow Pinot Provider, Apache Airflow allows an attacker to control commands executed in the task execution context, without write access to DAG files. This issue affects Apache Airflow Pinot Provider versions prior to 4.0.0. It also impacts any Apache Airflow versions prior to 2.3.0 in case Apache Airflow Pinot Provider is installed (Apache Airflow Pinot Provider 4.0.0 can only be installed for Airflow 2.3.0+). Note that you need to manually install the Pinot Provider version 4.0.0 in order to get rid of the vulnerability on top of Airflow 2.3.0+ version.
Affected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
Earlier releases before 2.3.0
Fixed in 2.3.0
107 explicitly affected versions
1.10.0, 1.10.1, 1.10.10, 1.10.10rc1, 1.10.10rc2, 1.10.10rc3, 1.10.10rc4, 1.10.10rc5, 1.10.11, 1.10.11rc1, 1.10.11rc2, 1.10.12, 1.10.12rc1, 1.10.12rc2, 1.10.12rc3, 1.10.12rc4, 1.10.13, 1.10.13rc1, 1.10.14, 1.10.14rc1, 1.10.14rc2, 1.10.14rc3, 1.10.14rc4, 1.10.15, 1.10.15rc1, 1.10.1b1, 1.10.1rc2, 1.10.2, 1.10.2b2, 1.10.2rc1, 1.10.2rc2, 1.10.2rc3, 1.10.3, 1.10.3b1, 1.10.3b2, 1.10.3rc1, 1.10.3rc2, 1.10.4, 1.10.4b2, 1.10.4rc1, 1.10.4rc2, 1.10.4rc3, 1.10.4rc4, 1.10.4rc5, 1.10.5, 1.10.5rc1, 1.10.6, 1.10.6rc1, 1.10.6rc2, 1.10.7, 1.10.7rc1, 1.10.7rc2, 1.10.7rc3, 1.10.8, 1.10.8rc1, 1.10.9, 1.10.9rc1, 1.8.1, 1.8.2, 1.8.2rc1, 1.9.0, 2.0.0, 2.0.0b1, 2.0.0b2, 2.0.0b3, 2.0.0rc1, 2.0.0rc2, 2.0.0rc3, 2.0.1, 2.0.1rc1, 2.0.1rc2, 2.0.2, 2.0.2rc1, 2.1.0, 2.1.0rc1, 2.1.0rc2, 2.1.1, 2.1.1rc1, 2.1.2, 2.1.2rc1, 2.1.3, 2.1.3rc1, 2.1.4, 2.1.4rc1, 2.1.4rc2, 2.2.0, 2.2.0b1, 2.2.0b2, 2.2.0rc1, 2.2.1, 2.2.1rc1, 2.2.1rc2, 2.2.2, 2.2.2rc1, 2.2.2rc2, 2.2.3, 2.2.3rc1, 2.2.3rc2, 2.2.4, 2.2.4rc1, 2.2.5, 2.2.5rc1, 2.2.5rc2, 2.2.5rc3, 2.3.0b1, 2.3.0rc1, 2.3.0rc2
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.3.0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.10.0",
"1.10.1",
"1.10.10",
"1.10.10rc1",
"1.10.10rc2",
"1.10.10rc3",
"1.10.10rc4",
"1.10.10rc5",
"1.10.11",
"1.10.11rc1",
"1.10.11rc2",
"1.10.12",
"1.10.12rc1",
"1.10.12rc2",
"1.10.12rc3",
"1.10.12rc4",
"1.10.13",
"1.10.13rc1",
"1.10.14",
"1.10.14rc1",
"1.10.14rc2",
"1.10.14rc3",
"1.10.14rc4",
"1.10.15",
"1.10.15rc1",
"1.10.1b1",
"1.10.1rc2",
"1.10.2",
"1.10.2b2",
"1.10.2rc1",
"1.10.2rc2",
"1.10.2rc3",
"1.10.3",
"1.10.3b1",
"1.10.3b2",
"1.10.3rc1",
"1.10.3rc2",
"1.10.4",
"1.10.4b2",
"1.10.4rc1",
"1.10.4rc2",
"1.10.4rc3",
"1.10.4rc4",
"1.10.4rc5",
"1.10.5",
"1.10.5rc1",
"1.10.6",
"1.10.6rc1",
"1.10.6rc2",
"1.10.7",
"1.10.7rc1",
"1.10.7rc2",
"1.10.7rc3",
"1.10.8",
"1.10.8rc1",
"1.10.9",
"1.10.9rc1",
"1.8.1",
"1.8.2",
"1.8.2rc1",
"1.9.0",
"2.0.0",
"2.0.0b1",
"2.0.0b2",
"2.0.0b3",
"2.0.0rc1",
"2.0.0rc2",
"2.0.0rc3",
"2.0.1",
"2.0.1rc1",
"2.0.1rc2",
"2.0.2",
"2.0.2rc1",
"2.1.0",
"2.1.0rc1",
"2.1.0rc2",
"2.1.1",
"2.1.1rc1",
"2.1.2",
"2.1.2rc1",
"2.1.3",
"2.1.3rc1",
"2.1.4",
"2.1.4rc1",
"2.1.4rc2",
"2.2.0",
"2.2.0b1",
"2.2.0b2",
"2.2.0rc1",
"2.2.1",
"2.2.1rc1",
"2.2.1rc2",
"2.2.2",
"2.2.2rc1",
"2.2.2rc2",
"2.2.3",
"2.2.3rc1",
"2.2.3rc2",
"2.2.4",
"2.2.4rc1",
"2.2.5",
"2.2.5rc1",
"2.2.5rc2",
"2.2.5rc3",
"2.3.0b1",
"2.3.0rc1",
"2.3.0rc2"
]
}References
- https://nvd.nist.gov/vuln/detail/CVE-2022-38649
- https://github.com/apache/airflow/pull/27641
- https://github.com/apache/airflow/commit/1d4fd5c6eacab0b88f8660f9d780174434393f1a
- https://github.com/apache/airflow
- https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-267.yaml
- https://lists.apache.org/thread/033o1gbc4ly6dpd2xf1o201v56fbl4dz
- https://pypi.org/project/apache-airflow