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.
Published: 2026-08-12
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

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.

Generated by OpenCVE AI on August 13, 2026 at 15:05 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Apache Airflow to version 3.3.1 or later, where the backfill ID is parsed consistently.
  • Restrict DAG edit permissions to trusted users and perform regular access reviews to limit potential attack surface.
  • As a temporary measure, audits should be conducted to ensure no unintended permissions are granted and consider blocking or monitoring the Backfill API endpoint until a patch is applied.

Generated by OpenCVE AI on August 13, 2026 at 15:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*

Thu, 13 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 12 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache airflow
Vendors & Products Apache
Apache airflow

Wed, 12 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
References

Wed, 12 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
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.
Title Apache Airflow: Authorization bypass in the Backfill API through conflicting interpretations of the backfill id
Weaknesses CWE-436
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-08-18T16:43:06.026Z

Reserved: 2026-08-01T03:21:53.167Z

Link: CVE-2026-68968

cve-icon Vulnrichment

Updated: 2026-08-12T17:20:23.888Z

cve-icon NVD

Status : Analyzed

Published: 2026-08-12T16:17:19.607

Modified: 2026-08-13T14:13:41.493

Link: CVE-2026-68968

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T15:15:13Z

Weaknesses