Apache Airflow's Backfill API authorized a request...
High severity
Unreviewed
Published
Aug 12, 2026
to the GitHub Advisory Database
•
Updated Aug 13, 2026
Description
Published by the National Vulnerability Database
Aug 12, 2026
Published to the GitHub Advisory Database
Aug 12, 2026
Last updated
Aug 13, 2026
Apache Airflow's Backfill API authorized a request against a Dag id supplied by the caller whenever the
backfill_idpath segment failed to parse. The authorization dependency parsed it withint()while the route handler parsed it as pydantic'sNonNegativeInt, which accepts valuesint()rejects (1.0coerces to1); 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 tofailed. 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.References