Summary
CVE-2026-76187 is a critical improper-authentication vulnerability in the apache-airflow-providers-keycloak package used by Apache Airflow’s Keycloak auth manager. The unauthenticated OAuth2 token endpoint accepts a client-credentials grant from any confidential client registered in the shared Keycloak realm, not only the client configured for Airflow. This allows an attacker holding valid credentials for an unrelated application in the same realm to obtain a signed Airflow session token, and carries a CVSS v3.1 base score of 9.8 (Critical).
Technical details
- Root cause: the token endpoint that issues Airflow session tokens does not validate that the
client_idpresented in a client-credentials grant matches theclient_idconfigured for Airflow in[keycloak_auth_manager]; it forwards the request to Keycloak for any confidential client in the realm. - Trigger conditions: Airflow must be configured to use the Keycloak auth manager, and the Keycloak realm used by Airflow must be shared with other confidential clients (a common multi-application realm setup).
- Attack vector: network, unauthenticated at the Airflow layer — the attacker needs only valid client-credentials for any other confidential client in the same realm, not for Airflow itself. No privileges on Airflow and no user interaction are required.
- Impact: the attacker’s client credentials are effectively accepted as valid Airflow login material, and Airflow mints a signed session token tied to that client’s service-account identity. The endpoint also relays unauthenticated credential-guessing attempts against Keycloak under Airflow’s identity. Resource authorization is still evaluated per subject, so the practical access gained is whatever that service account is entitled to, plus any Airflow endpoint gated only on being authenticated.
Affected software
apache-airflow-providers-keycloakversions before 0.10.0, when configured as the Airflow auth manager against a Keycloak realm shared with other confidential clients.
Severity
- CVSS v3.1 Base Score: 9.8 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate: upgrade
apache-airflow-providers-keycloakto version 0.10.0 or later, which restricts the token endpoint to accept only the client ID configured for Airflow. - If immediate patching is not possible: disable or restrict the client-credentials grant for non-Airflow clients in the shared Keycloak realm, or isolate Airflow into its own dedicated Keycloak realm so no other confidential clients can obtain tokens accepted by Airflow. Additionally, apply scope restrictions to limit the privileges granted to any service account that could be used in such a token request.

