Skip to main content

Apache Airflow Keycloak CVE-2026-96806

| EUVDEUVD-2026-102522 MEDIUM
Insufficient Session Expiration (CWE-613)
2026-10-15 apache GHSA-2vv4-mgc4-grm2
5.8
CVSS 3.1 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Access shared browser after victim logout
  2. Exploit
    Reuse non-invalidated Airflow JWT session
  3. Execution
    Authenticate as the logged-out user
  4. Impact
    Act 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Apache Airflow Keycloak provider 0 <0.11.1

Affected Packages

euvd apache_airflow_keycloak_provider fix: 0.11.1

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

Vendor (apache) PRIMARY 5.8 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
vuln.today AI 7.7 HIGH

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.

3.1 AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

1
CVSS changed
Oct 16, 2026 - 15:23 NVD
5.8 (MEDIUM)

DescriptionCVE.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

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
optional Keycloak auth-manager provider, a niche subset of Airflow installs
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

29
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +29
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy