Skip to main content

Apache Airflow FAB CVE-2026-82310

| EUVDEUVD-2026-80322 HIGH
Insufficient Session Expiration (CWE-613)
7.2
CVSS 3.1 · Vendor
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid token before deactivation
  2. Delivery
    Admin deactivates account (containment)
  3. Exploit
    Replay unexpired token to Core API
  4. Execution
    Token accepted, mints replacement token
  5. Impact
    Retain role-scoped access indefinitely

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
Exploitation Conditions

Requires Airflow 3 deployed with the FAB auth manager AND Core API token authentication enabled. The attacker must already hold a valid, unexpired token that was legitimately issued to the account while it was still active, and the deactivated account's row must remain in the database (deactivated, not deleted). Exploitation is triggered specifically after an administrator deactivates the account; the actor is effectively the deactivated account holder replaying their own credential. Limiting factors: access is strictly bounded to the roles the account already held (no escalation), the token must not have expired, and it does not affect deployments that delete accounts rather than deactivate them or that do not use Core API token auth. PR:H reflects that a valid pre-issued account credential is a prerequisite.

Impact

This is a genuine but bounded security-hygiene defect, not a top-tier emergency. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H = 7.2 High) is internally consistent and honest: PR:H correctly reflects that the actor must already possess a valid, unexpired token issued to the account before deactivation - i.e. they are effectively the account holder, not an outside attacker. EPSS is low (0.25%, 16th percentile), there is no CISA KEV listing, and no public exploit code was identified - signals that align with the intrinsic nature of the bug (it is a containment-failure exploitable only by the very insider being contained, not a mass-exploitable remote flaw). The description explicitly states 'no signature forgery or privilege escalation is involved' and access 'stays within the roles the account already held,' which contradicts the input 'Privilege Escalation' tag and confirms this is a session/token-expiration failure (CWE-613), not an escalation primitive. No SSVC decision data was provided. Real-world priority is moderate and situational: it matters acutely when an organization deactivates an account as an incident-response containment step (e.g. a departing or compromised insider) and wrongly assumes access is severed.

Exploit ScenarioDerived

An administrator deactivates a user account (a departing employee or a suspected-compromised operator) as a containment action, and password login is correctly refused. However, the account holder - or anyone holding that account's still-valid Core API token - continues issuing authenticated Core API calls with the pre-existing token and even uses it to mint a fresh replacement token, retaining role-scoped access indefinitely. No public exploit code exists; exploitation is a straightforward replay of the actor's own legitimate, unexpired credential.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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

AnalysisAIv3 – Sep 17, 2026

Deactivating a user account in Apache Airflow 3 deployments that run the FAB auth manager with Core API token authentication fails to revoke tokens already issued to that account, so the disabled user can keep replaying an unexpired token - and use it to mint a replacement - after an administrator has turned the account off. The credential is the account's own legitimate token, so there is no signature forgery and no privilege escalation: access stays bounded to the roles the account already held, but the administrative containment action silently fails and the account keeps role-scoped API access until the token finally expires. No public exploit code identified at time of analysis; EPSS is low at 0.25% (16th percentile); a vendor fix is available in apache-airflow-providers-fab 3.9.0.

Earlier versions of this analysis (2)
v2 Sep 17, 2026 - 20:44 cvss changed CVSS 7.2

Deactivating a user account in Apache Airflow 3 deployments that use the FAB auth manager together with Core API token authentication does not revoke tokens that were issued to that account before it was disabled, so a deactivated user can continue to exercise Core API access within their existing roles and can even mint a fresh replacement token to keep doing so indefinitely. The vulnerability requires an authenticated actor who already holds a valid, unexpired token obtained while the account was active (CVSS vector PR:H), and the impact is strictly bounded to the permissions the account already had - no signature forgery or privilege escalation is involved. Vendor CVSS 3.1 is 7.2, EPSS is 0.25% (16th percentile), no public exploit code has been identified at time of analysis, and the vendor fix is available as apache-airflow-providers-fab 3.9.0.

v1 Sep 15, 2026 - 20:15

Deactivated user accounts in the Apache Airflow FAB auth provider (apache-airflow-providers-fab 2.0.0 before 3.9.0) keep working through the Airflow 3 Core API: the password login path correctly rejects a disabled account, but any JWT access token issued before deactivation is still accepted and can be exchanged for a fresh token indefinitely. The result is that an administrative deactivation — typically performed as a containment action against a departing employee or compromised account — silently fails, leaving the account with its original role-scoped access to the Airflow control plane. No signature forgery or privilege escalation is involved; the holder simply replays their own still-valid credential. The issue is rated moderate by the project, with no CVSS vector, CWE, EPSS score, KEV entry, or public exploit code supplied in the available intelligence, and remediation is available in version 3.9.0.

RemediationAI

Vendor-released patch: apache-airflow-providers-fab 3.9.0 or later, which re-checks the account's active status on every token-authenticated request and rejects tokens naming a deactivated account (upgrade with pip install 'apache-airflow-providers-fab>=3.9.0' and restart the Airflow components that use it). Apply the upgrade as the primary fix; the change is small and the regression risk is low. If an immediate upgrade is not possible, prefer deleting the account row instead of merely deactivating it when containment is required - this immediately invalidates the token path, at the cost of losing the account's audit history and possibly complicating reassignment of DAG or connection ownership. A second compensating control is rotating the secret used to sign FAB API tokens, which invalidates every outstanding token for every user; the trade-off is that all interactive users and any automation holding tokens must re-authenticate, so schedule it during a maintenance window. Reducing token lifetime shortens the exposure window but does not eliminate it, and disabling Core API token authentication entirely is effective only where no programmatic API clients depend on it. After upgrading, review logs for continued API calls attributable to deactivated accounts, since tokens issued before the fix remain valid until expiry or revocation. Advisory references: https://lists.apache.org/thread/85h9r50bmy8vgkgr5nyddryj1p5pxxy2, https://seclists.org/oss-sec/2026/q3/792, and https://github.com/apache/airflow/pull/72199.

Affected VersionsENISA

Apache Airflow Fab Provider 2.0.0 <3.9.0

Affected Packages

euvd apache_airflow_fab_provider fix: 3.9.0

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 the Flask AppBuilder (FAB) auth manager shipped as apache-airflow-providers-fab, which supplies authentication and authorization for Apache Airflow 3. The weakness is CWE-613 (Insufficient Session Expiration): JWT-style API tokens are treated as valid purely on the basis of their signature and expiry, without re-checking the current state of the account they name. In the vulnerable code path (providers/fab/src/airflow/providers/fab/auth_manager/fab_auth_manager.py, deserialize_user), the user row was loaded from the database by ID and returned without consulting the account's active flag, whereas the interactive password path (auth_user_db) correctly rejects disabled accounts. Because the token is only 'logged out' when it expires, an administrator who deactivates an account - a common containment step during an incident - leaves any unexpired token working, and that token can itself be exchanged for a fresh one, extending the effective lifetime indefinitely. The nullable active column is also significant: the upstream fix treats a NULL value as inactive, matching the password path, so accounts with an unset flag are also rejected. The upstream patch (PR 72199) raises a ValueError in deserialize_user when the resolved user is not active, closing the gap between the password and token authentication paths. Note that some feeds tag this as privilege escalation; the assessed impact is bounded, as the holder retains only the roles the account already had rather than gaining new ones.

Know when Airflow 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 (CNA) PRIMARY 7.2 HIGH
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.2 HIGH

Network Core API (AV:N), simple token replay (AC:L); PR:H because the actor must possess the account's own valid pre-issued privileged token; C/I/A:H reflect a high-privileged account's retained role scope.

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

Primary rating from Vendor (CNA).

CVSS VectorVendor

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

Lifecycle Timeline

5
Analysis Updated
Sep 17, 2026 - 20:44 vuln.today
v3 - CVSS changed
Analysis Updated
Sep 17, 2026 - 20:44 vuln.today
v2 - CVSS changed
CVSS changed
Sep 17, 2026 - 20:22 NVD
7.2 (HIGH)
Patch available
Sep 16, 2026 - 10:02 EUVD
CVE Published
Sep 15, 2026 - 19:56 oss-security
CRITICAL

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Executive ViewAI

Why It Matters

A flaw in Apache Airflow 3 deployments using the FAB auth manager with Core API token authentication means that deactivating a user account does not actually revoke the tokens that account was already issued, so a departed, suspended, or offboarded user can continue reaching role-scoped Airflow APIs until those tokens expire - and can even generate a fresh token from the still-live credential. The blast radius is bounded to the permissions the account already held, with no signature forgery or privilege escalation, but the practical consequence is that a core administrative containment action silently fails, undermining offboarding, incident response, and access-revocation commitments that audit and compliance functions rely on. Security and platform operations teams should care because they cannot currently trust account deactivation as a reliable cutoff for API access in affected Airflow environments.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
High
FAB is a common Airflow auth manager; broad Airflow 3 deployment, though feature-gated
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2020-13927 CRITICAL POC
9.8 Nov 10

The previous default setting for Airflow's Experimental API was to allow all API requests without authentication, but th

CVE-2020-11978 HIGH POC
8.8 Jul 17

An issue was found in Apache Airflow versions 1.10.10 and below. Rated high severity (CVSS 8.8), this vulnerability is r

CVE-2021-38540 CRITICAL POC
9.8 Sep 09

The variable import endpoint was not protected by authentication in Airflow >=2.0.0, <2.1.3. Rated critical severity (CV

CVE-2020-11981 CRITICAL POC
9.8 Jul 17

An issue was found in Apache Airflow versions 1.10.10 and below. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2022-40127 HIGH POC
8.8 Nov 14

A vulnerability in Example Dags of Apache Airflow allows an attacker with UI access who can trigger DAGs, to execute arb

CVE-2022-24288 HIGH POC
8.8 Feb 25

In Apache Airflow, prior to version 2.2.4, some example DAGs did not properly sanitize user-provided params, making them

CVE-2020-17526 HIGH POC
7.7 Dec 21

Incorrect Session Validation in Apache Airflow Webserver versions prior to 1.10.14 with default config allows a maliciou

CVE-2026-82311 CRITICAL
9.8 Sep 15

Insufficient session expiration in apache-airflow-providers-fab 2.4.2 through 3.9.0 means an attacker who already holds

CVE-2026-76187 CRITICAL
9.8 Sep 15

Authentication bypass in the Apache Airflow Keycloak auth manager provider (apache-airflow-providers-keycloak below 0.10

CVE-2023-25754 CRITICAL
9.8 May 08

Privilege Context Switching Error vulnerability in Apache Software Foundation Apache Airflow.6.0. Rated critical severit

CVE-2023-22884 CRITICAL
9.8 Jan 21

Improper Neutralization of Special Elements used in a Command ('Command Injection') vulnerability in Apache Software Fou

CVE-2022-40189 CRITICAL
9.8 Nov 22

Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in Apache Airfl

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