{"id":"CVE-2023-22884","kind":"vulnerability","aliases":["CVE-2023-22884","GHSA-c732-xvv8-g94c"],"related":[],"title":"Command Injection in Apache Airflow and Apache Airflow MySQL Provider","description":"Improper Neutralization of Special Elements used in a Command ('Command Injection') vulnerability in Apache Software Foundation Apache Airflow, Apache Software Foundation Apache Airflow MySQL Provider.This issue affects Apache Airflow: before 2.5.1; Apache Airflow MySQL Provider: before 4.0.0.","summary":"Apache Airflow and its MySQL provider mishandle special characters in a command, so crafted input can inject operating system commands. An attacker who can influence that input can run commands as the Airflow process.","severity":"critical","cvss":9.8,"epss":0.11082,"exploited":false,"exploited_at":null,"products":[{"name":"apache-airflow","fixed":["2.5.1"],"affected":"< 2.5.1","ecosystem":"pypi"},{"name":"apache-airflow-providers-mysql","fixed":["4.0.0"],"affected":"< 4.0.0","ecosystem":"pypi"},{"name":"apache airflow","fixed":["2.5.1"],"affected":"< 2.5.1","ecosystem":"vendor"},{"name":"apache apache-airflow-providers-mysql","fixed":["4.0.0"],"affected":"< 4.0.0","ecosystem":"vendor"}],"ecosystems":["pypi","vendor"],"tags":["apache-airflow","cwe-77","data-pipelines","package","python","self-hosted"],"not_affected_if":["fixed-version"],"how_to_check":"- Run `pip show apache-airflow` and confirm the version is below `2.5.1`\n- Run `pip show apache-airflow-providers-mysql` and confirm the version is below `4.0.0`","fix":"- Upgrade `apache-airflow` to `2.5.1` or later\n- Upgrade `apache-airflow-providers-mysql` to `4.0.0` or later","status":"open","published_at":"2023-01-21T14:15:10+00:00","first_seen_at":"2026-10-27T15:13:25+00:00","triaged_at":"2026-10-27T15:14:39+00:00","updated_at":"2026-10-27T15:32:59+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-27T15:14:39Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade `apache-airflow` to `2.5.1` or later\n- Upgrade `apache-airflow-providers-mysql` to `4.0.0` or later","reach":"unknown","title":"Apache Airflow: command injection in MySQL provider lets users run commands","impact":"high","summary":"Apache Airflow and its MySQL provider mishandle special characters in a command, so crafted input can inject operating system commands. An attacker who can influence that input can run commands as the Airflow process.","category":"package","nicknames":[],"who_cares":["apache-airflow","python","self-hosted","data-pipelines"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Attacker runs operating system commands on the Airflow host","analyst_note":"","how_to_check":"- Run `pip show apache-airflow` and confirm the version is below `2.5.1`\n- Run `pip show apache-airflow-providers-mysql` and confirm the version is below `4.0.0`","needs_analyst":false,"not_affected_if":["fixed-version"],"who_is_affected":"Teams running Apache Airflow before 2.5.1 with the MySQL provider before 4.0.0 installed. The sources do not say which DAG or connection configurations reach the vulnerable code path, so assume any deployment with that provider is exposed. Teams on the fixed versions can skip it.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000599,"input_tokens":3419,"output_tokens":514,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-2023':12A,20A '-22884':13A,21A '-77':42B '2.5.1':115C '4.0.0':121C 'affect':111C 'airflow':5A,8A,24A,27A,31A,35A,40B,52B,83B,102C,107C,113C,117C 'apach':4A,7A,39B,51B,98C,101C,103C,106C,112C,116C 'apache':23A,26A,30A,32A,34A 'apache-airflow':22A,38B 'apache-airflow-providers-mysql':25A,33A 'attack':72B 'c732':16A 'charact':59B 'command':1A,62B,70B,80B,93C,94C 'craft':64B 'cve':11A,19A 'cwe':41B 'data':44B 'data-pipelin':43B 'element':89C 'foundat':100C,105C 'g94c':18A 'ghsa':15A 'ghsa-c732-xvv8-g94c':14A 'host':50B 'improp':85C 'influenc':75B 'inject':2A,67B,95C 'input':65B,77B 'issu':110C 'mishandl':57B 'mysql':9A,29A,37A,55B,108C,118C 'neutral':86C 'oper':68B 'packag':46B 'pipelin':45B 'process':84B 'provid':10A,56B,119C 'provider.this':109C 'providers':28A,36A 'python':47B 'run':79B 'self':49B 'self-host':48B 'softwar':99C,104C 'special':58B,88C 'system':69B 'use':90C 'vulner':96C 'xvv8':17A","nicknames":[],"mitigations":[],"who_affected":"Teams running Apache Airflow before 2.5.1 with the MySQL provider before 4.0.0 installed. The sources do not say which DAG or connection configurations reach the vulnerable code path, so assume any deployment with that provider is exposed. Teams on the fixed versions can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2023-01-21T14:15:10+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-c732-xvv8-g94c","url":"https://github.com/advisories/GHSA-c732-xvv8-g94c","severity":"critical","published_at":"2023-01-21T15:30:18+00:00","modified_at":"2026-10-27T15:12:52+00:00","first_seen_at":"2026-10-27T15:13:25+00:00","fetched_at":"2026-10-27T15:13:25+00:00","note":null},{"source":"nvd","external_id":"CVE-2023-22884","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-22884","severity":null,"published_at":"2023-01-21T14:15:10+00:00","modified_at":"2026-06-17T05:36:20+00:00","first_seen_at":"2026-10-27T15:32:59+00:00","fetched_at":"2026-10-27T15:32:59+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}