{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-101031","assignerOrgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","state":"PUBLISHED","assignerShortName":"apache","dateReserved":"2026-09-27T12:15:34.854Z","datePublished":"2026-11-09T09:44:39.236Z","dateUpdated":"2026-11-12T16:11:23.932Z"},"containers":{"cna":{"providerMetadata":{"orgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","shortName":"apache","dateUpdated":"2026-11-09T09:44:39.236Z"},"title":"Apache Airflow: Shell command injection in the example_dag_decorator example Dag via an IPv6 zone identifier","problemTypes":[{"descriptions":[{"description":"CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')","lang":"en","cweId":"CWE-78","type":"CWE"}]}],"source":{"discovery":"EXTERNAL"},"affected":[{"vendor":"Apache Software Foundation","product":"Apache Airflow","packageURL":"pkg:pypi/apache-airflow-core","versions":[{"status":"affected","version":"3.0.5","lessThan":"3.4.0","versionType":"semver"}],"defaultStatus":"unaffected","collectionURL":"https://pypi.python.org","packageName":"apache-airflow-core"}],"descriptions":[{"value":"The `example_dag_decorator` example Dag shipped with Apache Airflow validated an IP address fetched over HTTP with Python's `ipaddress` module and then placed it into a shell command. `ipaddress` accepts IPv6 zone identifiers containing arbitrary characters, so when example Dags are loaded (`load_examples` enabled), a user who can trigger that Dag with a custom `url` parameter could point it at a server whose response injects shell commands run on the worker. This is an incomplete fix for CVE-2025-54941; users who upgraded for CVE-2025-54941 should upgrade again. Users are advised to upgrade to apache-airflow 3.4.0 or later, or to disable example Dags (`load_examples = False`), which is recommended for production.","lang":"en","supportingMedia":[{"type":"text/html","base64":false,"value":"The `example_dag_decorator` example Dag shipped with Apache Airflow validated an IP address fetched over HTTP with Python's `ipaddress` module and then placed it into a shell command. `ipaddress` accepts IPv6 zone identifiers containing arbitrary characters, so when example Dags are loaded (`load_examples` enabled), a user who can trigger that Dag with a custom `url` parameter could point it at a server whose response injects shell commands run on the worker. This is an incomplete fix for CVE-2025-54941; users who upgraded for CVE-2025-54941 should upgrade again. Users are advised to upgrade to apache-airflow 3.4.0 or later, or to disable example Dags (`load_examples = False`), which is recommended for production."}]}],"references":[{"url":"https://github.com/apache/airflow/pull/73787","tags":["patch"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-54941","tags":["related"]},{"url":"https://lists.apache.org/thread.html/p53zxybld58wv722c7zxk0w8d2rnkfwk","tags":["vendor-advisory"]}],"metrics":[{"other":{"type":"Textual description of severity","content":{"text":"low"}},"scenarios":[{"lang":"en","value":"GENERAL"}]}],"credits":[{"lang":"en","value":"Andrew Rukin (Arenadata)","type":"finder"},{"lang":"en","value":"Jarek Potiuk","type":"remediation developer"}],"x_generator":{"engine":"airflow-s/generate_cve_json.py"}},"adp":[{"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":9.1,"attackVector":"NETWORK","baseSeverity":"CRITICAL","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-11-12T16:10:18.854842Z","id":"CVE-2026-101031","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-11-12T16:11:23.932Z"}}]}}