{"schemaVersion":3,"id":"CVE-2022-40189","aliases":["GHSA-rmf2-pwfq-h75j","BIT-airflow-2022-40189","PYSEC-2026-270"],"status":"published","duplicateOf":null,"title":null,"description":"Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in Apache Airflow Pig Provider, Apache Airflow allows an attacker to control commands executed in the task execution context, without write access to DAG files. This issue affects Pig Provider versions prior to 4.0.0. It also impacts any Apache Airflow versions prior to 2.3.0 in case Pig Provider is installed (Pig Provider 4.0.0 can only be installed for Airflow 2.3.0+). Note that you need to manually install the Pig Provider version 4.0.0 in order to get rid of the vulnerability on top of Airflow 2.3.0+ version.","dates":{"published":"2022-11-22T00:00:00.000Z","modified":"2025-04-29T04:25:48.603Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.8,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Pypi","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":10,"impact":9.8,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.04078,"percentile":0.90589,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":-0.027000000000000635,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.04105},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.04078,"percentile":0.90589}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.04105,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.04078,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.04078,"percentile":0.90589}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-78","name":"Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')","description":"The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/78.html"}],"affected":[{"vendor":"apache software foundation","product":"apache airflow","name":"Apache Airflow","label":"apache airflow","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ unspecified, < 2.3.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ unspecified, < 2.3.0","eol":null,"hubHref":"/vendor/apache_software_foundation/apache_airflow"},{"vendor":"apache software foundation","product":"apache airlfow pig provider","name":"Apache Airlfow Pig Provider","label":"apache airlfow pig provider","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ unspecified, < 4.0.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ unspecified, < 4.0.0","eol":null,"hubHref":"/vendor/apache_software_foundation/apache_airlfow_pig_provider"},{"vendor":"apache","product":"airflow","name":"Airflow","label":"airflow","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 2.3.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.3.0","eol":{"isEol":null,"eolDate":null,"matchMethod":"cpe","cycle":null,"product":{"name":"apache-airflow","label":"Apache Airflow","category":"framework"}},"hubHref":"/vendor/apache/airflow"},{"vendor":"apache","product":"apache-airflow-providers-apache-pig","name":"apache-airflow-providers-apache-pig","label":"apache-airflow-providers-apache-pig","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 4.0.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.0.0","eol":null,"hubHref":"/vendor/apache/apache-airflow-providers-apache-pig"},{"vendor":"PyPI","product":"apache-airflow","name":"apache-airflow","label":"apache-airflow","ecosystem":"PyPI","cpePart":null,"purl":"pkg:pypi/apache-airflow","purlType":"pypi","versions":[{"text":"< 2.3.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.3.0","eol":null,"hubHref":null}],"affectedCount":5,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/apache/airflow/pull/27644","label":"github.com/apache/airflow/pull/27644","hostname":"github.com","tags":["WEB","Patch","Third Party Advisory"]},{"url":"https://lists.apache.org/thread/yxnfzfw2w9pj5s785k3rlyly4y44sd15","label":"lists.apache.org/thread/yxnfzfw2w9pj5s785k3rlyly4y44sd15","hostname":"lists.apache.org","tags":["WEB","Mailing List","Third Party Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-40189","label":"nvd.nist.gov/vuln/detail/CVE-2022-40189","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/apache/airflow","label":"github.com/apache/airflow","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://pypi.org/project/apache-airflow","label":"pypi.org/project/apache-airflow","hostname":"pypi.org","tags":["PACKAGE"]},{"url":"https://github.com/advisories/GHSA-rmf2-pwfq-h75j","label":"github.com/advisories/GHSA-rmf2-pwfq-h75j","hostname":"github.com","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2022-11-22T00:00:00.000Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-04-29T04:25:48.603Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T01:04:21.824Z","stale":false,"partial":false}}