Apache Airflow: API authorization bypass: bulk TaskInstances allows cross-DAG mutation
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA and GitHub. Impact type from CWE-639.
Summary
A bug in Apache Airflow's bulk Task Instances API (`PATCH/DELETE /api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances`) evaluated authorization against the `dag_id` resolved from the URL path while operating on the `dag_id` / `dag_run_id` extracted from request-body entity fields. An authenticated UI/API user with edit permission on one Dag could mutate Task Instance state in any other Dag by keeping the authorized Dag's ID in the URL path and naming the target Dag's IDs in the request body entities. Affects deployments that rely on per-Dag edit-scope to keep Task Instance state isolated between teams. Users are advised to upgrade to `apache-airflow` 3.2.2 or later.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Apache | Apache Airflow | 3.2.0 to before 3.2.2 | 3.2.2 | Patch available | CNA |
| — | apache-airflow (PyPI) | 3.2.0 to before 3.2.2 | 3.2.2 | Patch available | GHSA-mxq5-f9c5-w4p5 |
- Apache Airflow VendorApache Affected 3.2.0 to before 3.2.2 Fixed in 3.2.2 Patch available CNA
- apache-airflow (PyPI) Vendor— Affected 3.2.0 to before 3.2.2 Fixed in 3.2.2 Patch available GHSA-mxq5-f9c5-w4p5
Remediation
- Fix · CNA Apache Airflow (Apache Software Foundation) Fixed in 3.2.2
- Fix · GHSA-mxq5-f9c5-w4p5 apache-airflow (PyPI) Fixed in 3.2.2 Advisory →
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
Apache Airflow 3.2.2
17 records Highest priority Priority MEDIUM 3 MEDIUM, 14 LOW
Other records, highest priority first
- TI-2026-30568 Apache Airflow: BashOperator Jinja2 injection via dag_run.conf — low-privilege user patternPriority MEDIUM 47
- TI-2026-36484 Apache Airflow: JWT Token Exposure in KubernetesExecutor Command-Line ArgumentsPriority MEDIUM 41
- TI-2026-30661 Apache Airflow: Authenticated RCE via XCom PATCH endpoint — XComUpdateBody missing FORBIDDEN_XCOM_KEYS validatorPriority MEDIUM 41
Timeline
- 2026-10-02 Threatist record created from CVE-2026-41084
- 2026-10-03 Alias added: GHSA-mxq5-f9c5-w4p5
- 2026-10-25 EPSS moved to the below the 50th percentile
- 2026-10-25 Priority changed: MEDIUM → LOW
- 2026-11-03 Fix available: [email protected] · CNA
References
Advisory 3
More Apache Airflow vulnerabilities
- TI-2020-10905 Missing authentication in Apache Airflow KEVCVSS 3.1CRITICAL 9.8
- TI-2020-09638 OS command injection in Apache Airflow KEVCVSS 3.1HIGH 8.8
- TI-2022-19017 Apache Airflow <2.4.0 has an RCE in a bash example CVSS 3.1HIGH 8.8
- TI-2021-16140 Apache Airflow: Variable Import endpoint missed authentication check CVSS 3.1CRITICAL 9.8
- TI-2022-08169 Apache Airflow: RCE in example DAGs CVSS 3.1HIGH 8.8
- TI-2024-26776 Apache Airflow: DAG Author Code Execution possibility in airflow-scheduler CVSS 3.1HIGH 8.8
Sources
- CVE-2026-41084 · CVE Program
- CVE-2026-41084 · NVD
- FIRST EPSS
- GHSA-mxq5-f9c5-w4p5 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences