{"id":"CVE-2026-117859","kind":"vulnerability","aliases":["CVE-2026-117859"],"related":[],"title":"Keycloak: restarted login flow lets a PAR request be reused","description":"A flaw was found in the Pushed Authorization Request PAR implementation of the keycloak-services component. The issue occurs when an authentication flow is restarted, which incorrectly clears the internal markers used to track PAR consumption while leaving the request active. This allows an attacker to reuse the same authorization request to obtain multiple access tokens, bypassing security requirements for single-use requests.","summary":"Keycloak's Pushed Authorization Request (PAR) handling clears its single-use markers when an authentication flow restarts, while the request stays active. An attacker who holds the same authorization request can reuse it to obtain multiple access tokens.","severity":"medium","cvss":5.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["keycloak","oauth","package","self-hosted"],"not_affected_if":["par-not-used"],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-29T07:16:44+00:00","first_seen_at":"2026-10-29T07:23:29+00:00","triaged_at":"2026-10-29T07:23:46+00:00","updated_at":"2026-10-29T07:23:46+00:00","category":"package","confidence":0.5,"triage":{"at":"2026-10-29T07:23:46Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Keycloak: restarted login flow lets a PAR request be reused","impact":"medium","summary":"Keycloak's Pushed Authorization Request (PAR) handling clears its single-use markers when an authentication flow restarts, while the request stays active. An attacker who holds the same authorization request can reuse it to obtain multiple access tokens.","audience":"businesses","category":"package","nicknames":[],"who_cares":["keycloak","oauth","self-hosted"],"confidence":0.5,"fix_status":"unknown","needs_auth":"unknown","worst_case":"attacker obtains multiple access tokens from one authorization request","analyst_note":"Find the affected Keycloak version ranges and fixed release, and whether PAR is enabled by default, from the NVD entry or the Keycloak project advisory.","how_to_check":"unknown","plain_action":"","needs_analyst":true,"not_affected_if":["par-not-used"],"who_is_affected":"Systems that run Keycloak with the Pushed Authorization Request flow enabled are the ones exposed. The sources do not say which Keycloak versions are affected or whether PAR is on by default, so unknown.","user_interaction":"unknown","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000641,"input_tokens":4147,"output_tokens":453,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-117859':13A,16A '-2026':12A,15A 'access':60B,117C 'activ':45B,103C 'allow':105C 'attack':47B,107C 'authent':38B,84C 'author':26B,52B,69C,112C 'bypass':119C 'clear':30B,90C 'compon':78C 'consumpt':98C 'cve':11A,14A 'flaw':63C 'flow':4A,39B,85C 'found':65C 'handl':29B 'hold':49B 'host':22B 'implement':72C 'incorrect':89C 'intern':92C 'issu':80C 'keycloak':1A,17B,23B,76C 'keycloak-servic':75C 'leav':100C 'let':5A 'login':3A 'marker':35B,93C 'multipl':59B,116C 'oauth':18B 'obtain':58B,115C 'occur':81C 'packag':19B 'par':7A,28B,71C,97C 'push':25B,68C 'request':8A,27B,43B,53B,70C,102C,113C,126C 'requir':121C 'restart':2A,40B,87C 'reus':10A,55B,109C 'secur':120C 'self':21B 'self-host':20B 'servic':77C 'singl':33B,124C 'single-us':32B,123C 'stay':44B 'token':61B,118C 'track':96C 'use':34B,94C,125C","nicknames":[],"mitigations":[],"who_affected":"Systems that run Keycloak with the Pushed Authorization Request flow enabled are the ones exposed. The sources do not say which Keycloak versions are affected or whether PAR is on by default, so unknown.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"first_public_at":"2026-10-29T07:16:44+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","cvss_by":"secalert@redhat.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-117859","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-117859","severity":null,"published_at":"2026-10-29T07:16:44+00:00","modified_at":"2026-10-29T07:16:44+00:00","first_seen_at":"2026-10-29T07:23:29+00:00","fetched_at":"2026-10-29T07:23:29+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"}