HexBrain

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 instance

References

Use this check only on systems you are authorised to test. Where the data comes from