CVE-2026-68968

High

Description

Apache Airflow's Backfill API authorized a request against a Dag id supplied by the caller whenever the `backfill_id` 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.

SeverityHigh
CVSS7.5
Exploit probability—
ProductApache Airflow
PublishedAug 12, 2026
First seenAug 12, 2026
Weakness typeCWE-436CWE-436

How to fix

Update
  • apache airflow3.3.1 or later
  • apache-airflow3.3.1 or later

Affected products

ProductAffected versionsFixed in
apache airflowv < 3.3.13.3.1
apache-airflowPyPIv < 3.3.13.3.1

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.