---
id: "CVE-2022-38649"
kind: "vulnerability"
aliases: ["CVE-2022-38649", "GHSA-7wqf-h36w-47mc"]
title: "OS Command Injection in Apache Airflow"
severity: "critical"
cvss: 9.8
epss: 0.03338
exploited: false
status: "open"
category: "package"
products: [{"name": "apache-airflow", "fixed": ["2.3.0"], "affected": "< 2.3.0", "ecosystem": "pypi"}, {"name": "apache airflow", "fixed": ["2.3.0"], "affected": "< 2.3.0", "ecosystem": "vendor"}, {"name": "apache apache-airflow-providers-apache-pinot", "fixed": ["4.0.0"], "affected": "< 4.0.0", "ecosystem": "vendor"}]
ecosystems: ["pypi", "vendor"]
tags: ["airflow", "cwe-78", "data-pipelines", "package", "python", "self-hosted"]
not_affected_if: ["airflow-2.3.0-plus-with-fixed-provider", "pinot-provider-4.0.0"]
published_at: "2022-11-22T10:15:10+00:00"
first_seen_at: "2026-10-26T21:16:46+00:00"
updated_at: "2026-10-26T21:20:32+00:00"
sources: [{"source": "ghsa", "url": "https://github.com/advisories/GHSA-7wqf-h36w-47mc", "first_seen_at": "2026-10-26T21:16:46+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-38649", "first_seen_at": "2026-10-26T21:20:32+00:00"}]
---

# OS Command Injection in Apache Airflow

Apache Airflow's Pinot Provider and core versions before 2.3.0 let an attacker control commands executed in the task execution context, without needing write access to DAG files. An attacker who can influence those inputs can run arbitrary operating system commands on the Airflow worker.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- pypi:apache-airflow affected < 2.3.0 fixed 2.3.0
- vendor:apache airflow affected < 2.3.0 fixed 2.3.0
- vendor:apache apache-airflow-providers-apache-pinot affected < 4.0.0 fixed 4.0.0

## How to check

- Run `pip show apache-airflow` and confirm the version is below `2.3.0`.
- Run `pip show apache-airflow-providers-apache-pinot` and check whether it is installed and below `4.0.0`.
- Check whether the Pinot provider is installed at all, since it extends the exposure even on newer Airflow versions.

## Fix

- Upgrade `apache-airflow` to `2.3.0` or later.
- Install `apache-airflow-providers-apache-pinot` version `4.0.0` or later, even on Airflow 2.3.0+, since the fix must be installed manually.

## Timeline

- 2026-10-26T21:16:46+00:00 ghsa https://github.com/advisories/GHSA-7wqf-h36w-47mc
- 2026-10-26T21:20:32+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2022-38649

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
