CVE-2026-45426: Apache Airflow: Log server JWT authorization bypass via Python lstrip character stripping allows cross-Dag log access
This Apache advisory covers CVE-2026-45426 in Apache Airflow.
- CVE-2026-45426
Key facts
- CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N· base score 3.1, scored by CISA-ADPAttack vector: network. Attack complexity: high. Privileges required: low. User interaction: none. Scope: unchanged. Confidentiality impact: low. Integrity impact: none. Availability impact: none.- Weakness
- CWE-863: Incorrect Authorization
- CISA SSVC
- Exploitation: none observed. Automatable: no. Technical impact: partial. CISA, .
- CISA KEV
- Not listed (catalogue checked )
- Affected
- Apache Airflow 3.0.0 before 3.2.2
- Fixed in
- 3.2.2
- Source published
- Source revised
- Listed by VulniPulse
Compiled by VulniPulse from the linked sources. How records are collected and checked.
Affected products & platforms
Description
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 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.
Text from the source record.
- Apache Airflow 3.0.0 before 3.2.2
Official advisory · medium-confidence parse· fetched ·verify at source
How to fix CVE-2026-45426
Upgrade to a fixed release named by Apache:
- 3.2.2
Vendor guidance
- Users are advised to upgrade to `apache-airflow` 3.2.2 or later.
Support dates for the fixed release lines
- Apache Airflow 3.2: support ended
More Apache Software Foundation advisories
CVE-2026-40913Nov 9, 2026Apache Airflow's public Import Errors API returns the raw parse-failure stack trace to anyCVE-2026-50204Nov 9, 2026Apache Airflow's audit log stored Connection and Variable secret values in cleartextCVE-2026-68982Nov 9, 2026Apache Airflow's CeleryExecutor ran callback workloadsCVE-2026-76185Nov 9, 2026Apache Airflow's Task SDK secret cache built its keys from the team name and secret idCVE-2026-86829Nov 9, 2026Apache Airflow's scheduler fully deserializes XCom values written by task codeCVE-2026-82337Nov 9, 2026Apache Airflow rebuilt deadline alert fields through generic deserialization
Apache Software Foundation advisories, June 2026All Apache Software Foundation advisories
Get an email when Apache Airflow publishes the next one.
See Apache Airflow's last 90 days of advisories first. Then choose one product with live alerts free for life, or a free month of real-time alerts on everything with the severity, the fixed version and the vendor's link (card needed, then US$15/month; we email you before the first charge).
iPhone and Android apps · New on the App Store
Monitor future Apache Software Foundation CVEs from your phone.
Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 34 official vendor sources and 160+ reviewed platform categories.