Cyber Resilience

CVE-2026-45426

Access Control in Apache Airflow 3.0.0 – 3.2.2

Published
01 June 2026
Modified
21 July 2026
Patch / advisory
CVSS Score v3.1 3.1
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
EPSS Score 0.0036 28th percentile
Risk Priority 15 floored blend · peak EPSS

Summary

CVE-2026-45426 is a low-severity Incorrect Authorization (CWE-863) vulnerability in Apache Airflow. Its CVSS base score is 3.1 (Low).

Operationally, exploitation aligns with the MITRE ATT&CK technique Log Enumeration (T1654); ranked at the 28th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-4 (Information Flow Enforcement) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Exploitation requires the attacker to already be an authenticated Airflow worker holding a valid Log-server JWT issued for at least one Dag. Apache Airflow's Log server authorized JWT tokens against Dag IDs by applying Python's `str.lstrip()` to the requested path…

more

segment when verifying the JWT's `sub` claim. `str.lstrip()` strips any of a *set* of characters from the left (not a prefix), so a JWT issued for a Dag named e.g. `dag_a` would authorize log access to any other Dag whose name began with any subset of the characters `{d, a, g, _}` (e.g. `dag_attacker`, `aaaa_target`, `_dag_secret`). Such an authenticated worker could enumerate and read worker logs of other Dags whose names happened to share that character-class prefix, leaking task output and error traces beyond the documented per-Dag isolation boundary. Affects deployments relying on per-Dag log-access scoping (multi-team, shared-executor, shared-worker topologies). Users are advised to upgrade to `apache-airflow` 3.2.2 or later.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1654 Log Enumeration Discovery
Adversaries may enumerate system and service logs to find useful data.
Why these techniques?

JWT authorization bypass via flawed str.lstrip() check directly enables an authenticated worker to enumerate/read unauthorized Dag logs (task output/error traces).

Confidence: MEDIUM · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-32228Same product: Apache Airflow
CVE-2023-35908Same product: Apache Airflow
CVE-2023-47037Same product: Apache Airflow
CVE-2023-40611Same product: Apache Airflow
CVE-2023-22888Same product: Apache Airflow
CVE-2025-68438Same product: Apache Airflow
CVE-2026-31987Same product: Apache Airflow
CVE-2026-48828Same product: Apache Airflow
CVE-2026-28779Same product: Apache Airflow
CVE-2023-40273Same product: Apache Airflow

Affected Assets

apache
airflow
3.0.0 — 3.2.2

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • AC-3 Access Enforcement
  • AC-4 Information Flow Enforcement
  • AC-6 Least Privilege
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 5 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly enforces the per-Dag authorization decision on the JWT sub claim before returning worker logs, blocking the lstrip-based bypass.

prevent

Mediates information flow of log data between differently-scoped Dag subjects, preventing unauthorized cross-Dag leakage.

prevent

Limits each authenticated worker to the minimal set of Dag logs its JWT actually authorizes, rather than any name sharing the stripped character set.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 mostly match
prevents

Defining, enforcing, and reviewing access authorizations and least privilege directly prevents incorrect authorization checks.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Requiring consistency between access rights and classification plus formal approval steps ensures that the authorization logic correctly distinguishes between entities that should and should not be granted access.

prevents

Enforcing policy-driven approval and role-change reviews stops incorrect or stale authorization decisions from remaining in effect after job changes or terminations.

prevents

By tying access rights to identity, device, location and classification, the control reduces the likelihood that an authorization decision will be based on an incorrect or bypassed policy.

References