High severity · published Aug 12, 2026
CVE-2026-68968
Apache Airflow: Authorization bypass in the Backfill API through conflicting interpretations of the backfill id
7.5
CVSS
0.4%
EPSS
No
On KEV
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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 36% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AA
Apache Airflow · Apache Software Foundation
before 3.3.1 · source: vendor
AI
Airflow · Apache
before 3.3.1 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-68968
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-68968
Issue Tracking
https://github.com/apache/airflow/pull/70889
Mailing List
https://lists.apache.org/thread/f9zmw6xs5b4syhwzbl6fsxm4kf2632ol
Mailing List
http://www.openwall.com/lists/oss-security/2026/08/12/12
More from Apache Airflow
8.8
CVE-2020-11978
Apache Airflow Command Injection
9.8
CVE-2026-33264
Apache Airflow: DAG author RCE on webserver via unrestricted import_string() in BaseSerialization.deserialize()
9.8
CVE-2017-17836
In Apache Airflow 1.8.2 and earlier, an experimental Airflow feature displayed authenticated cookies, as well as passwords to databases used by Airflow
9.1
CVE-2026-86473
Apache Airflow: Logout ignores a presented Authorization bearer token, leaving it revocable only by expiry
9.1
CVE-2026-42252
Apache Airflow: BashOperator Jinja2 injection via dag_run.conf — low-privilege user pattern
