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()`
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.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | apache-airflow | < 3.3.1 | 3.3.1 |
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-68968
- https://github.com/apache/airflow/pull/70889
- https://github.com/apache/airflow/commit/6fcae4e2b0aabd22b006659bc47139a124813865
- https://github.com/apache/airflow/commit/bbb97f55e647dd09f0725c111b7a7081b9df7850
- https://github.com/apache/airflow
- https://github.com/apache/airflow/releases/tag/3.3.1
- https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-3710.yaml
- https://lists.apache.org/thread/f9zmw6xs5b4syhwzbl6fsxm4kf2632ol
- http://www.openwall.com/lists/oss-security/2026/08/12/12
- https://github.com/advisories/GHSA-j4jc-cq9h-xrhr
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N- Weakness (CWE)
CWE-436- Platform
- Python (PyPI)
- Package
apache-airflow- Disclosed
- 12.08.2026
- Updated
- 15.10.2026 18:17
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2026-3710 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-j4jc-cq9h-xrhr - CC BY 4.0
Vulnerability history: apache-airflow
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 158
- First → latest
- 08.2018 09.2026
- Without a fix
- 4
- Exploited in attacks
- 2
Severity breakdown
- Critical 16
- High 49
- Medium 86
- Low 7
Disclosures per year
- 2018: 1
- 2019: 8
- 2020: 12
- 2021: 5
- 2022: 16
- 2023: 31
- 2024: 18
- 2025: 6
- 2026: 61
-
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()` this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.