{"id":"CVE-2026-40948","aliases":["GHSA-5w6h-pjw6-wvc6","PYSEC-2026-2369"],"title":"apache-airflow-providers-keycloak: Missing OAuth 2.0 State and PKCE Enables Login CSRF and Session Fixation","summary":"apache-airflow-providers-keycloak: Missing OAuth 2.0 State and PKCE Enables Login CSRF and Session Fixation","severity":"medium","cvss":5.4,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N","vendor":"apache-airflow-providers-keycloak","product":"apache-airflow-providers-keycloak","ecosystem":"pip","affected":["apache-airflow-providers-keycloak >= 0.0.1, < 0.7.0"],"patched":["apache-airflow-providers-keycloak 0.7.0"],"published":"2026-04-18","updated":"2026-07-13","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-5w6h-pjw6-wvc6","references":[{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-40948"},{"url":"https://github.com/apache/airflow/pull/64114"},{"url":"https://github.com/apache/airflow"},{"url":"https://lists.apache.org/thread/kc0odpr70hbqhdb9ksnz42fkqz2xld9q"},{"url":"http://www.openwall.com/lists/oss-security/2026/04/17/14"}],"tags":["osv","pip"],"epss":0.00328,"epssPercentile":0.26097,"ingestedAt":"2026-07-13T18:57:53.491Z","slug":"CVE-2026-40948","body":"## Overview\n\nThe Keycloak authentication manager in `apache-airflow-providers-keycloak` did not generate or validate the OAuth 2.0 `state` parameter on the login / login-callback flow, and did not use PKCE. An attacker with a Keycloak account in the same realm could deliver a crafted callback URL to a victim's browser and cause the victim to be logged into the attacker's Airflow session (login-CSRF / session fixation), where any credentials the victim subsequently stored in Airflow Connections would be harvestable by the attacker. Users are advised to upgrade `apache-airflow-providers-keycloak` to 0.7.0 or later.\n\n## Affected packages\n\n- `apache-airflow-providers-keycloak >= 0.0.1, < 0.7.0`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `apache-airflow-providers-keycloak 0.7.0`","depth":"sunlit","depthScore":30,"depthScoreParts":{"impact":29.7,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}