Browse / CVEs / CVE-2022-24288
CVE-2022-24288· apache / airflow· CWE-78
Apache Airflow OS Command Injection
highseverity
8.8CVSS score
78.4%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it
Apache Airflow prior to version 2.2.4 is vulnerable to OS command injection attacks because some example DAGs do not properly sanitize user-provided parameters, making them susceptible to OS Command Injection from the web UI.
Impact
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary commands on the target system.
Fix
Apply the latest security patches or upgrade to a patched version of Apache Airflow.
How to confirm it
Send: GET {{BaseURL}}/admin/airflow/code?root=&dag_id=example_passing_params_via_test_command ; GET {{BaseURL}}/code?dag_id=example_passing_params_via_test_command
Positive when: contains "foo was passed in via Airflow CLI Test command with value {…"Run it with nuclei: nuclei -id CVE-2022-24288 -u <target>
The full check
id: CVE-2022-24288
info:
name: Apache Airflow OS Command Injection
author: xeldax
severity: high
description: Apache Airflow prior to version 2.2.4 is vulnerable to OS command injection attacks because some example DAGs do not properly sanitize user-provided parameters, making them susceptible to OS Command Injection from the web UI.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary commands on the target system.
remediation: |
Apply the latest security patches or upgrade to a patched version of Apache Airflow.
reference:
- https://github.com/advisories/GHSA-3v7g-4pg3-7r6j
- https://nvd.nist.gov/vuln/detail/CVE-2022-24288
- https://lists.apache.org/thread/dbw5ozcmr0h0lhs0yjph7xdc64oht23t
- https://github.com/ARPSyndicate/kenzer-templates
- https://github.com/Hax0rG1rl/my_cve_and_bounty_poc
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
cvss-score: 8.8
cve-id: CVE-2022-24288
cwe-id: CWE-78
epss-score: 0.78368
epss-percentile: 0.99585
cpe: cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 2
vendor: apache
product: airflow
shodan-query:
- title:"Airflow - DAGs" || http.html:"Apache Airflow"
- http.title:"airflow - dags" || http.html:"apache airflow"
- http.title:"sign in - airflow"
- product:"redis"
fofa-query:
- title="sign in - airflow"
- apache airflow
- title="airflow - dags" || http.html:"apache airflow"
google-query:
- intitle:"sign in - airflow"
- intitle:"airflow - dags" || http.html:"apache airflow"
tags: cve,cve2022,airflow,rce,apache,vkev,vuln
http:
- method: GET
path:
- "{{BaseURL}}/admin/airflow/code?root=&dag_id=example_passing_params_via_test_command"
- "{{BaseURL}}/code?dag_id=example_passing_params_via_test_command"
stop-at-first-match: true
matchers:
- type: word
words:
- 'foo was passed in via Airflow CLI Test command with value {{ params.foo }}' # Works with unauthenticated airflow instanceReferences
- https://github.com/advisories/GHSA-3v7g-4pg3-7r6j
- https://nvd.nist.gov/vuln/detail/CVE-2022-24288
- https://lists.apache.org/thread/dbw5ozcmr0h0lhs0yjph7xdc64oht23t
- https://github.com/ARPSyndicate/kenzer-templates
- https://github.com/Hax0rG1rl/my_cve_and_bounty_poc
Use this check only on systems you are authorised to test. Where the data comes from