Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAccess shared browser after victim logout
-
ExploitReuse non-invalidated Airflow JWT session
-
ExecutionAuthenticate as the logged-out user
-
ImpactAct with victim's Airflow permissions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
|
| Exploitation Conditions | Exploitation requires (1) an Airflow deployment configured to use the Keycloak auth manager via apache-airflow-providers-keycloak before version 0.11.1, and (2) subsequent local/physical access to the same browser the victim used, after that victim has performed a logout - the canonical case being a shared, kiosk, or unattended workstation. Limiting factors that reduce realistic risk: the attacker cannot exploit this remotely over the network, cannot forge the session without possession of the victim's browser, and the window opens only after a logout action; single-user or dedicated-device deployments, and any deployment not using the Keycloak auth manager, are not meaningfully exposed. |
| Impact | This is a session-management flaw (CWE-613, insufficient session expiration) in the Apache Airflow Keycloak auth manager where logout failed to terminate the session: the logout route revoked the presented Airflow JWT, but KeycloakJWTMiddleware immediately minted a new unrevoked token on the same response, leaving the user authenticated. No CVSS score or vector was provided by the source, no EPSS probability is available, there is no CISA KEV listing, and no public POC is identified - so every quantitative exploitation signal is absent and risk must be inferred from the description and the patch diff alone. The description itself defines the threat model as physical/local reuse of a shared browser after logout rather than remote network attack, which caps real-world severity well below a 'critical remote auth bypass': an attacker must have hands-on access to the victim's browser session (e.g. a shared or kiosk workstation). Confirmed signals: a real, vendor-authored fix exists (Apache PR #73695, which adds a post-request _is_jwt_still_valid revocation check and clears session cookies when the JWT was revoked mid-request), so the vulnerability is genuine and reproducible. Conflicting/uncertain signal to flag: the 'Information Disclosure' tag understates the actual impact, which is full session impersonation/account takeover of the logged-out user, not mere disclosure. Overall this is a moderate, context-dependent risk - a real priority for multi-user/shared-terminal Airflow deployments on the Keycloak auth manager, but low urgency for single-user or dedicated-workstation environments; it is not a mass-exploitable internet-facing bug. |
| Exploit ScenarioDerived | On a shared or kiosk workstation, a legitimate Airflow user clicks logout and walks away believing their session is closed; because the middleware re-issued a fresh valid token on the logout response, the browser still holds a working session. A second person who then sits at the same machine can simply reload the Airflow UI and continue acting with the victim's identity and permissions. No public exploit code is required or identified - exploitation is manual reuse of the still-authenticated browser. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Insufficient session termination in the Apache Airflow Keycloak auth manager (apache-airflow-providers-keycloak before 0.11.1) leaves a user's session valid after logout, so anyone who later gains access to the same browser - for example on a shared, kiosk, or unattended workstation - can continue acting as that user with the victim's full privileges. The logout route does revoke the presented Airflow JWT, but KeycloakJWTMiddleware re-issues a fresh, unrevoked token in the same HTTP response, so the session never actually ends. The flaw is locally exploitable (CVSS:3.1/AV:L/AC:L/PR:N/UI:N, C:H/I:H/A:N, needing only subsequent local/physical access to the victim's browser), affects only deployments configured with the Keycloak auth manager, has no public exploit identified at time of analysis, and is fixed in apache-airflow-providers-keycloak 0.11.1.
RemediationAI
Vendor-released patch: upgrade apache-airflow-providers-keycloak to 0.11.1 or later, which introduces the post-endpoint token re-validation and cookie-clearing behaviour in KeycloakJWTMiddleware (fix landed upstream in PR 73695, https://github.com/apache/airflow/pull/73695). Until the upgrade is applied, compensating controls are limited because the root problem is that logout does not terminate the session: treat any browser that has authenticated as still holding a live session after logout. Practically, this means avoiding shared, kiosk, and unattended browsers for Airflow access; requiring users to clear cookies or close every browser window (not merely the Airflow tab) after logging out; and, where shared access is unavoidable, using a dedicated browser profile per user or clearing browser state between users. If the deployment does not actually require the Keycloak auth manager, switching to a different Airflow auth manager removes the exposure entirely, at the cost of reconfiguring authentication. There is no useful network-level workaround, since the retained session is a legitimate-looking Airflow JWT presented from the same browser.
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
Apache Airflow's Keycloak auth manager ships in the apache-airflow-providers-keycloak package (CPE cpe:2.3:a:apache_software_foundation:apache_airflow_keycloak_provider:*:*:*:*:*:*:*:*) and integrates Keycloak-issued OIDC tokens with Airflow's ASGI authentication stack. The vulnerable component is KeycloakJWTMiddleware in providers/keycloak/src/airflow/providers/keycloak/auth_manager/middleware.py: its dispatch() method resolves the user from the JWT cookie, optionally refreshes the Keycloak access/refresh tokens, and calls generate_jwt() to set a freshly signed Airflow JWT cookie on the outgoing response. Because the middleware previously checked only whether a new user or new token existed, it did not notice that the logout route had revoked the presented token while the request was being handled, and it re-issued a valid session cookie on the very same response - the CWE-613 insufficient session expiration class. The upstream fix (PR 73695) adds an _is_jwt_still_valid() re-validation after the endpoint runs: if get_user_from_token now raises InvalidTokenError (token revoked, as by logout) the middleware suppresses the new JWT and clears the JWT, access, and refresh cookies; if it raises ExpiredSignatureError (token merely aged out) or still validates, the normal refresh path proceeds. This preserves legitimate token-refresh behaviour while ensuring revocation wins.
Know when Apache Airflow Keycloak 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:C/C:L/I:N/A:N
AV:L because exploitation needs local access to the victim's post-logout browser rather than network reach; PR:N and UI:N since the attacker needs no credentials and no further victim action; C:H/I:H from full account impersonation, A:N as availability is not directly impacted.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
1DescriptionCVE.org
The Apache Airflow Keycloak auth manager did not end the session on logout: the logout route revoked the presented token, but KeycloakJWTMiddleware then issued a new, unrevoked token on the same response, so the user stayed logged in. Deployments using the Keycloak auth manager are affected: after a user logs out, anyone with later access to the same browser (for example on a shared workstation) can continue to act as that user.
Users of apache-airflow-providers-keycloak are recommended to upgrade to apache-airflow-providers-keycloak 0.11.1 or later.
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
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-102522
GHSA-2vv4-mgc4-grm2
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB