Impact
Apache Airflow’s Backfill API misinterprets the backfill identifier because the authorization dependency parses it with int() while the route handler validates it with pydantic’s NonNegativeInt, which accepts values that int() rejects, such as 1.0 coercing to 1. This type mismatch allows an authenticated user who has edit permission on any single DAG to read, pause, and cancel backfills belonging to other DAGs, including moving queued runs of those DAGs to the failed state. The flaw is a classic authorization bypass (CWE‑436) that compromises the integrity of all DAGs that the user can edit.
Affected Systems
The affected product is Apache Airflow from the Apache Software Foundation. All installations of Apache Airflow released before version 3.3.1 are vulnerable because the bug is fixed starting with that release. No specific sub‑versions are listed in the advisory, but any deployment lacking the 3.3.1 patch is at risk.
Risk and Exploitability
The vulnerability is exploitable by any authenticated user possessing DAG‑edit rights; no special configuration or elevated privileges are required beyond normal DAG management. Backfill identifiers are sequential and public, so an attacker can easily discover valid targets. The CVSS score of 7.5 indicates a high impact to integrity and availability, while the EPSS <1% suggests a low probability of exploitation in the wild. The issue is not in the KEV catalog. The path to exploitation is straightforward: the attacker submits a request to the Backfill API with a backfill ID that cannot be parsed by int(), causing the authorization to validate an unrelated DAG ID, thereby bypassing access controls. No contrived conditions are necessary, making this a high‑risk weakness in any Airflow deployment that has not been updated.
OpenCVE Enrichment