{"id":"CVE-2026-86467","kind":"vulnerability","aliases":["CVE-2026-86467"],"related":[],"title":"Apache Airflow Amazon provider: SAML login lets attackers hijack victim sessions","description":"Apache Airflow Amazon provider: the AWS auth manager's SAML login flow does not bind the authentication response to the browser that began it. The login handler discards the AuthnRequest ID and the callback validates the assertion without requiring a matching InResponseTo, so an unauthenticated attacker who can cause a victim to load a page can complete a SAML login in the victim's browser using the attacker's own assertion, silently logging the victim into the attacker's Airflow account. Subsequent work the victim performs lands in a session the attacker controls.\n\nAffects deployments using the AWS auth manager with SAML authentication. The victim needs only to visit an attacker-controlled page; no Airflow account or credential is required of the attacker. This is the same login-CSRF class fixed in the Keycloak auth manager as CVE-2026-40948.\n\nUsers of apache-airflow-providers-amazon are recommended to upgrade to version 9.38.0, which fixes the issue.","summary":"The AWS auth manager's SAML login flow does not tie the authentication response to the browser that started it, so a SAML response from the attacker can be accepted in a victim's browser. An attacker who gets a victim to load a page can silently log the victim into the attacker's Airflow account, and the victim's later work lands in a session the attacker controls.","severity":"high","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["apache-airflow","aws","package","python","saml","self-hosted"],"not_affected_if":["default-config","other-auth-manager"],"how_to_check":"- Check the installed version with `pip show apache-airflow-providers-amazon`\n- Confirm the deployment uses the AWS auth manager with SAML authentication (look for `auth_manager` set to the AWS auth manager in the Airflow configuration)","fix":"- Upgrade `apache-airflow-providers-amazon` to `9.38.0` or later","status":"open","published_at":"2026-10-20T03:17:16+00:00","first_seen_at":"2026-10-23T21:57:20+00:00","triaged_at":"2026-10-25T05:04:56+00:00","updated_at":"2026-10-25T05:04:56+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T05:04:56Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade `apache-airflow-providers-amazon` to `9.38.0` or later","reach":"internet","title":"Apache Airflow Amazon provider: SAML login lets attackers hijack victim sessions","impact":"medium","summary":"The AWS auth manager's SAML login flow does not tie the authentication response to the browser that started it, so a SAML response from the attacker can be accepted in a victim's browser. An attacker who gets a victim to load a page can silently log the victim into the attacker's Airflow account, and the victim's later work lands in a session the attacker controls.","category":"package","nicknames":[],"who_cares":["apache-airflow","python","aws","saml","self-hosted"],"confidence":0.7,"needs_auth":"no","worst_case":"Victim's session is taken over by an attacker's account","analyst_note":"","how_to_check":"- Check the installed version with `pip show apache-airflow-providers-amazon`\n- Confirm the deployment uses the AWS auth manager with SAML authentication (look for `auth_manager` set to the AWS auth manager in the Airflow configuration)","needs_analyst":false,"not_affected_if":["default-config","other-auth-manager"],"who_is_affected":"Deployments of Apache Airflow that use the AWS auth manager with SAML login are exposed. The attack needs only that a logged-in user visits an attacker-controlled page, and no account on the Airflow instance is needed. Deployments using other auth managers, such as the Keycloak auth manager or basic auth, are not covered by this entry.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000638,"input_tokens":3527,"output_tokens":570,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A,237C '-40948':238C '-86467':14A,17A '9.38.0':252C 'accept':57B 'account':83B,177C,213C 'affect':190C 'airflow':2A,20B,82B,98C,176C,212C,243C 'amazon':3A,99C,245C 'apach':1A,19B,97C,242C 'apache-airflow':18B 'apache-airflow-providers-amazon':241C 'assert':133C,167C 'attack':8A,54B,64B,80B,95B,142C,164C,174C,188C,208C,220C 'attacker-control':207C 'auth':30B,103C,195C,233C 'authent':40B,113C,199C 'authnrequest':126C 'aw':21B,29B,102C,194C 'began':119C 'bind':111C 'browser':44B,62B,117C,161C 'callback':130C 'caus':145C 'class':228C 'complet':153C 'control':96B,189C,209C 'credenti':215C 'csrf':227C 'cve':12A,15A,236C 'deploy':191C 'discard':124C 'fix':229C,254C 'flow':35B,108C 'get':66B 'handler':123C 'hijack':9A 'host':27B 'id':127C 'inresponseto':138C 'issu':256C 'keycloak':232C 'land':90B,183C 'later':88B 'let':7A 'load':70B,149C 'log':75B,169C 'login':6A,34B,107C,122C,156C,226C 'login-csrf':225C 'manag':31B,104C,196C,234C 'match':137C 'need':202C 'packag':22B 'page':72B,151C,210C 'perform':182C 'provid':4A,100C,244C 'python':23B 'recommend':247C 'requir':135C,217C 'respons':41B,51B,114C 'saml':5A,24B,33B,50B,106C,155C,198C 'self':26B 'self-host':25B 'session':11A,93B,186C 'silent':74B,168C 'start':46B 'subsequ':178C 'tie':38B 'unauthent':141C 'upgrad':249C 'use':162C,192C 'user':239C 'valid':131C 'version':251C 'victim':10A,60B,68B,77B,86B,147C,159C,171C,181C,201C 'visit':205C 'without':134C 'work':89B,179C","nicknames":[],"mitigations":[],"who_affected":"Deployments of Apache Airflow that use the AWS auth manager with SAML login are exposed. The attack needs only that a logged-in user visits an attacker-controlled page, and no account on the Airflow instance is needed. Deployments using other auth managers, such as the Keycloak auth manager or basic auth, are not covered by this entry.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-20T03:17:16+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-86467","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-86467","severity":null,"published_at":"2026-10-20T03:17:16+00:00","modified_at":"2026-10-20T19:35:38+00:00","first_seen_at":"2026-10-23T21:57:20+00:00","fetched_at":"2026-10-23T22:28:57+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}