Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister attacker-owned Azure AD tenant
-
DeliveryMint id_token with chosen username/roles
-
ExploitSubmit token to Airflow Azure OAuth login
-
ExecutionSignature passes multi-tenant JWKS, no iss/aud check
-
PersistAuthenticated to Airflow UI with attacker-set roles
-
ImpactAccess DAGs, secrets, and pipeline control
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
|
| Exploitation Conditions | Exploitable only when the Airflow FAB auth manager is configured with Azure AD as an OAuth provider (the vulnerable id_token validation path). Given that configuration, no further conditions apply: a remote, unauthenticated attacker needs only the ability to register their own Azure AD tenant (freely available) and craft an id_token with attacker-chosen username and role claims, which passes because issuer and audience are unchecked against Microsoft's multi-tenant JWKS. Limiting factors: deployments not using Azure AD OAuth via the FAB provider are unaffected, and versions outside 3.7.3-3.8.0 are not vulnerable; there is no user-interaction or pre-existing-account requirement on the target side. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N, 9.1) is well-supported by the mechanism: a remote, unauthenticated attacker who can self-register a free Azure tenant obtains a valid-looking login with attacker-chosen username and role assignments, yielding high confidentiality and integrity impact over Airflow (DAG code, connections/secrets, and pipeline execution) with no availability impact claimed. The one genuine gating factor is configuration: only deployments using the FAB auth manager with Azure AD as an OAuth provider are affected, so the raw 9.1 overstates population-wide risk while accurately reflecting risk for the affected configuration. No EPSS score, CISA KEV entry, or SSVC decision data was provided, and no public exploit was identified at time of analysis; however, exploitation requires no privileged setup beyond registering an Azure tenant, so any organization running this configuration should treat it as urgent and patch immediately. Notably, the incomplete-fix nature is a trap: teams that already patched CVE-2026-59243 (which shipped in 3.7.3) may believe they are safe when in fact every version carrying that fix falls inside this affected range. |
| Exploit ScenarioDerived | An attacker registers a free Azure AD tenant, creates a user in it, and initiates OAuth login to a target Airflow deployment configured with Azure AD, submitting an id_token minted by their own tenant with a chosen username and admin role claims. Because the FAB provider verifies only the Microsoft multi-tenant signature and not the issuer or audience, the token is accepted and the attacker is logged in with administrative access to DAGs, connections, and secrets. No prior access to the deployment is needed and no public exploit tool was identified, though the mechanism is fully described in public advisories. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Sep 08, 2026
Authentication bypass in the Apache Airflow FAB provider (apache-airflow-providers-fab 3.7.3 through 3.8.0) lets any unauthenticated attacker log into the Airflow UI when the FAB auth manager is configured with Azure AD as an OAuth provider. Because the provider validates the id_token signature against Microsoft's multi-tenant JWKS endpoint but never checks the token's issuer or audience, an id_token minted in any Azure tenant - including one the attacker registers themselves - passes verification, and the username and role assignments are then taken from that attacker-controlled token. This is an incomplete-fix follow-up to CVE-2026-59243; operators who applied that earlier fix remain vulnerable. Publicly available exploit code exists is not indicated, but the upstream fix (PR#71735) and mechanism are public; no active exploitation is reported.
Earlier versions of this analysis (1)
Authentication bypass in Apache Airflow FAB Provider 3.7.3-3.8.0 allows any individual who can register a free Azure AD tenant to authenticate to the Airflow UI as an arbitrary user, including with administrator-level privileges. The root cause is that id_token signature verification was added (in the CVE-2026-59243 fix) but issuer and audience claims are never validated: tokens signed by keys from Microsoft's multi-tenant JWKS endpoint pass regardless of which tenant or application minted them. Every deployment that applied the CVE-2026-59243 fix and has not yet upgraded to 3.8.1 remains fully exposed, and no public exploit code has been identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade apache-airflow-providers-fab to 3.8.1 or later, which adds issuer and audience validation of the Azure AD id_token (PR#71735). This is required even for operators who already applied the CVE-2026-59243 fix, since that fix shipped in 3.7.3 and every version containing it is within the affected range. If immediate upgrade is not possible, configure the Azure OAuth provider with a tenant-specific endpoint (https://login.microsoftonline.com/<tenant-id>/...) or an explicit tenant_id in the azure provider's client_kwargs rather than the 'common'/'organizations'/'consumers' multi-tenant endpoints - the fixed code refuses to accept tokens when no single tenant can be pinned, and using a single-tenant configuration limits which issuer is trusted; as an interim compensating control, restrict network access to the Airflow UI/login endpoint to trusted networks or a VPN, at the cost of blocking legitimate remote SSO users. Advisories: https://lists.apache.org/thread/n3l6z4jfdxj4p0t8l7m6olkq6xsc6f76 and https://seclists.org/oss-sec/2026/q3/677.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is apache-airflow-providers-fab, the Flask-AppBuilder-based authentication manager for Apache Airflow (CPE cpe:2.3:a:apache_software_foundation:apache_airflow_fab_provider). The root cause is CWE-346 (Origin Validation Error): OAuth/OIDC login with Azure AD relies on JWT id_tokens whose signatures are verified against Microsoft's *multi-tenant* JWKS at login.microsoftonline.com. Microsoft's shared key set signs tokens for every tenant, so signature validity alone proves only that Azure minted the token - not that it came from the tenant the deployment trusts. Correct OIDC validation additionally pins the iss (issuer) claim to the configured tenant and the aud (audience) claim to the application's client_id. The vulnerable code called authlib's jwt.decode with only the keyset and no claims_options, so both checks were absent. The fix (PR#71735) resolves the configured tenant (from client_kwargs tenant_id or the login.microsoftonline.com/<tenant-id>/ endpoint segment), rejects tenant-agnostic 'common'/'organizations'/'consumers' endpoints, and passes claims_options pinning iss to the tenant's v1.0/v2.0 issuer forms and aud to the app's client_id.
Know when Apache Airflow Fab Provider gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Unauthenticated remote login via a self-minted token (PR:N/AC:L) grants attacker-chosen roles giving high confidentiality and integrity over Airflow; no availability impact claimed.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
3DescriptionCVE.org
Apache Airflow FAB provider versions 3.7.3 through 3.8.0 do not validate the issuer or audience of Azure AD id_tokens during OAuth login. Deployments are affected only when the FAB auth manager is configured with Azure AD as an OAuth provider. Because the signing keys are fetched from Microsoft's multi-tenant JWKS endpoint, an id_token minted in *any* Azure tenant - including one the attacker creates - passes signature verification, and the username and role assignments are then read from that attacker-controlled token. Anyone able to register an Azure tenant can therefore authenticate to the Airflow UI with no prior access to the deployment.
The fix for CVE-2026-59243 was incomplete, and this advisory closes the remaining gap: that fix made the provider verify the id_token signature, but did not add issuer or audience checks. Operators who already applied the CVE-2026-59243 fix are still affected and must upgrade again - 3.7.3 is the release that shipped that fix, so every version containing it falls inside this affected range. Upgrade to apache-airflow-providers-fab 3.8.1 or later.
Articles & Coverage 1
Executive ViewAI
Apache Airflow FAB provider (versions 3.7.3-3.8.0) allows any unauthenticated attacker to bypass authentication and gain complete control of your Airflow orchestration platform when Azure AD is configured. No public exploit identified at time of analysis, but the vulnerability mechanism is publicly known; organizations that previously patched CVE-2026-59243 remain vulnerable because that fix was incomplete.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
More in Apache Airflow Fab Provider
View allPrivilege escalation in the Apache Airflow FAB auth manager (apache-airflow-providers-fab before 3.7.2) lets a low-privi
LDAP filter injection in Apache Airflow FAB Auth Manager (apache-airflow-providers-fab < 3.6.4) enables unauthenticated
EUVD-2026-72933
GHSA-vrqc-p75r-25rv
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB