Skip to main content

Airflow Keycloak Provider CVE-2026-76187

| EUVDEUVD-2026-80324 CRITICAL
Improper Authentication (CWE-287)
9.8
CVSS 3.1 · Vendor
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid credentials for any confidential client in the shared realm
  2. Delivery
    Send client_credentials grant to unauthenticated /auth/token
  3. Exploit
    Airflow accepts non-configured client and mints signed token
  4. Execution
    Authenticate to Airflow as foreign service account
  5. Impact
    Access resources that subject holds plus authenticated-only endpoints

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the Keycloak auth manager provider (apache-airflow-providers-keycloak < 0.10.0) whose Keycloak realm is SHARED with at least one other confidential client - a non-default multi-tenant realm topology. The attacker must possess valid credentials (client id + secret) for any one of those other confidential clients; they do NOT need Airflow's own credentials or any Airflow account. The vulnerable path is the unauthenticated POST /auth/token client_credentials grant, which lacked a client_id allowlist. Limiting factors: access obtained is scoped to whatever the borrowed service account is authorized for (per-subject authorization is still enforced) plus endpoints gated only on being authenticated; deployments not using the Keycloak auth manager, or using a dedicated single-client realm, are not exposed.

Impact

Signals conflict sharply. The vendor CVSS of 9.8 (AV:N/AC:L/PR:N/UI:N/C:H/I:H/A:H) treats this as a trivial unauthenticated network compromise, but the description imposes two real preconditions the vector does not capture: (1) the Keycloak realm must be shared between Airflow and at least one other confidential client - a non-default multi-client topology - and (2) the attacker must already hold valid credentials for one of those other clients. That makes it an authentication-context bypass (CWE-287) rather than pure PR:N unauthenticated RCE-style access, so real-world attack complexity is higher than AC:L implies. Impact is also over-stated: the description says resource authorization is still evaluated per subject, so the attacker gains only whatever the borrowed service account holds plus endpoints gated on mere authentication - not guaranteed full C:H/I:H/A:H. Corroborating low-urgency signals: EPSS is 0.19% (9th percentile), the CVE is NOT in CISA KEV, and no public exploit code was identified. The mechanism is simple and well-documented in the patch, but exploitability is bounded by needing pre-existing valid credentials for a co-tenant client, so this is a genuine but conditional issue, not a mass-exploitation 9.8. A secondary risk is the endpoint acting as an unauthenticated oracle for guessing other clients' credentials under Airflow's identity.

Exploit ScenarioDerived

In an environment where Airflow's Keycloak auth manager shares its realm with other applications, an attacker who possesses the client id and secret of any one unrelated confidential client (e.g. a compromised or legitimately-held service account for a neighboring app) sends a client_credentials request to Airflow's unauthenticated POST /auth/token. Airflow accepts the foreign client's credentials and mints a signed Airflow session token bound to that service account, granting whatever access that subject holds plus any authenticated-only endpoints. No public POC has been identified, but the fix diff and tests make the exact request shape clear.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Sep 17, 2026

Authentication bypass in the Apache Airflow Keycloak auth manager provider (apache-airflow-providers-keycloak below 0.10.0) lets a remote attacker exchange credentials belonging to any confidential client in a shared Keycloak realm for a signed Airflow session token, even though those credentials have nothing to do with Airflow. The unauthenticated POST /auth/token client_credentials grant performed no allowlist check on client_id, so an unrelated application's service-account secret became a valid Airflow login; the resulting access is limited to whatever that service account is authorized for per subject, plus endpoints gated only on being authenticated. Exploitation requires a non-default topology - a Keycloak auth manager deployment whose realm is shared with at least one other confidential client - and the attacker must already hold valid credentials for one of those clients; no public exploit code has been identified at time of analysis, EPSS is low (0.19%, 9th percentile), and a vendor patch is available in provider version 0.10.0.

Earlier versions of this analysis (1)
v1 Sep 15, 2026 - 20:15

Authentication bypass in the Apache Airflow Keycloak provider (apache-airflow-providers-keycloak) before 0.10.0 lets an attacker who holds valid client credentials for any unrelated confidential client in a shared Keycloak realm obtain a signed Airflow session JWT. Because the provider's token endpoint does not allowlist client ids, credentials that were never issued for Airflow are silently accepted as Airflow login credentials, and Airflow mints a session token for that third-party application's service account. Access is then limited only by what that service account can reach plus any endpoint gated solely on being authenticated, and the endpoint additionally permits unauthenticated credential guessing against Keycloak under Airflow's identity. No public exploit code or CISA KEV entry was identified at time of analysis; severity is rated moderate by the vendor, with the impact bounded by subject-level resource authorization.

RemediationAI

Vendor-released patch: upgrade apache-airflow-providers-keycloak to version 0.10.0 or later; that release, delivered by upstream PR 72205, accepts the client_credentials grant only for the client named in [keycloak_auth_manager] client_id and returns 403 for every other client id. Be aware of the deliberate behavioral change: if your deployment legitimately authenticates with a service account belonging to a different Keycloak client, you must either repoint [keycloak_auth_manager] client_id at that client or re-issue its credentials against the configured client, otherwise those integrations will start receiving 403 responses after the upgrade. Because the flaw means another application's secret already functioned as an Airflow login and the endpoint answered unauthenticated credential guesses against Keycloak under Airflow's identity, treat this as a credential-exposure event: rotate the client secrets of all confidential clients in the shared realm and review Airflow audit logs and Keycloak token-endpoint logs for client_credentials exchanges using a client id other than the configured one. If upgrading immediately is not possible, the strongest compensating control is realm isolation - give Airflow its own Keycloak realm containing only the Airflow client, so no other confidential client's credentials can satisfy the grant; the trade-off is duplicated client/realm administration and possible loss of shared user federation or single sign-on convenience. As a stopgap, block or rate-limit external access to POST /auth/token at the reverse proxy or ingress so only trusted service-account sources can reach it, accepting that this can break legitimate client-credentials automation and does not help against attackers already inside the network path. Additional resources: https://airflow.apache.org/, https://lists.apache.org/thread/5cqh5ojl3718ogb0q1dcd9vdr47z7gp3 and https://github.com/apache/airflow/pull/72205.

Affected VersionsENISA

Apache Airflow Keycloak provider 0 <0.10.0

Affected Packages

euvd apache_airflow_keycloak_provider fix: 0.10.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 flaw is CWE-287 (Improper Authentication) in the Keycloak auth manager provider for Apache Airflow. Airflow's Keycloak integration exposes an unauthenticated FastAPI route, POST /auth/token, which supports the OAuth2 client_credentials grant so service accounts can mint Airflow JWTs. In versions before 0.10.0 the create_client_credentials_token function forwarded whatever client_id and client_secret it received to Keycloak and, on a successful exchange, issued a signed Airflow session token for the resulting subject without verifying that the client_id matched the one configured in [keycloak_auth_manager] client_id. In a Keycloak realm that hosts multiple confidential clients, any one of those clients' valid credentials would therefore authenticate to Airflow. Because per-subject resource authorization is still enforced downstream, the practical exposure is the borrowed service account's own permissions plus endpoints protected only by 'is authenticated'. A second consequence noted in the advisory is that the same endpoint answered unauthenticated credential guesses against Keycloak while presenting Airflow's identity, making it usable as a password/secret-guessing surface. The upstream fix (PR 72205) adds an explicit comparison against the configured client_id and returns HTTP 403 with the same generic detail used for failed credential exchanges, deliberately preventing the endpoint from becoming a discovery oracle for client ids in the realm; the accompanying unit tests assert both the rejection and its indistinguishability from a wrong-secret failure. NVD scored this 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H); an independent assessment rates attack complexity High (AC:H) instead of Low, reflecting the real prerequisites of a shared multi-tenant realm and prior possession of valid credentials for a non-Airflow confidential client.

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 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.1 HIGH

AV:N unauthenticated network endpoint; AC:H because the attacker must possess another confidential client's credentials and the realm must be shared; C/I/A:H reflects a signed session token for a service account, though real impact is capped by per-subject authorization.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:N/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
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Analysis Updated
Sep 17, 2026 - 20:33 vuln.today
v2 - CVSS changed
CVSS changed
Sep 17, 2026 - 20:22 NVD
9.8 (CRITICAL)
Patch available
Sep 16, 2026 - 10:02 EUVD
CVE Published
Sep 15, 2026 - 19:54 oss-security
CRITICAL

Description PRE-NVD

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

Executive ViewAI

Why It Matters

A critical authentication-bypass flaw in the Apache Airflow Keycloak auth manager provider (apache-airflow-providers-keycloak below 0.10.0) allows anyone holding credentials for an unrelated confidential client in a shared Keycloak realm to obtain a valid Airflow session, potentially exposing orchestration control, pipeline metadata, and any endpoints gated only on authentication. Organizations running Airflow with the Keycloak provider against a shared realm should treat this as a priority identity-boundary failure, since it undermines the assumption that only Airflow's own clients can log in. A vendor fix is available, and no public exploit code has been identified at time of analysis.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Medium
Airflow is widely deployed but the Keycloak auth-manager provider is an opt-in niche add-on
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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Yes
Human Impact
High

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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

CVE-2022-38649 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