CVE-2026-68968: Apache Airflow: Authorization bypass in the Backfill API through conflicting interpretations of the backfill id
Apache Airflow's Backfill API authorized a request against a Dag id supplied by the caller whenever the backfillid path segment failed to parse. The authorization dependency parsed it with int() while the route handler parsed it as pydantic's NonNegativeInt, which accepts values int() rejects (1.0 coerces to 1); FastAPI resolves dependencies before endpoint validation, so the two acted on different Dags. An authenticated user holding edit permission on any single Dag could therefore read, pause and cancel backfills belonging to any other Dag, including moving another Dag's queued runs to failed. No non-default configuration is required and backfill ids are sequential, so finding a target is trivial. Users are advised to upgrade to apache-airflow 3.3.1 or later, which parses the backfill id with the same type the routes declare.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
apache-airflowto a version that resolves this vulnerability.Fixed in 3.3.1
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68968?
CVE-2026-68968 has a risk score of 62 indicated by its severity.
What does CVE-2026-68968 affect?
CVE-2026-68968 affects the Backfill API in Apache Airflow.
How does CVE-2026-68968 enable an authorization bypass?
CVE-2026-68968 allows an authorization bypass due to conflicting interpretations of the backfill id during request parsing.
How can I mitigate CVE-2026-68968?
Mitigation for CVE-2026-68968 involves updating Apache Airflow to a version that addresses this vulnerability.
Is CVE-2026-68968 a serious vulnerability?
Yes, CVE-2026-68968 is considered serious as it involves an authorization bypass that could lead to unauthorized access.