{"id":"GHSA-gfv4-4vr2-rr4g","kind":"vulnerability","aliases":["GHSA-gfv4-4vr2-rr4g"],"related":[],"title":"Duplicate Advisory: Keycloak allows unauthorized access to resources via uma permission ticket bypass","description":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-w3p3-7cjg-vgfw. This link is maintained to preserve external references.\n\n### Original Description\nA flaw was found in org.keycloak.authorization. An authenticated user with a granted User-Managed Access (UMA) permission ticket for one resource can exploit this by using a specific permission request prefix to bypass per-resource access control. This allows the user to gain unauthorized access to all resources of that type within the same resource server, even if they do not have a ticket for those specific resources. This vulnerability requires the resource server to be configured in PERMISSIVE policy enforcement mode and affects typed resources with ownerManagedAccess enabled, where no explicit policy protects the resource type. The primary consequence is unauthorized information disclosure or modification of resources.","summary":"A Keycloak authorization flaw lets an authenticated user who holds a UMA permission ticket for one resource gain access to every resource of that type on the same resource server. The attacker gets unauthorized reads or changes to those resources.","severity":"medium","cvss":4.6,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"org.keycloak:keycloak-services","fixed":[],"affected":"< 26.6.4","ecosystem":"maven"}],"ecosystems":["maven"],"tags":["cwe-639","java","keycloak","package","self-hosted","uma"],"not_affected_if":["enforcing-policy-mode","explicit-policy-on-resource-type","no-owner-managed-access"],"how_to_check":"- Check the Keycloak version with `kc.sh --version` or the `keycloak-services` jar version in your build\n- Check whether the resource server uses PERMISSIVE policy enforcement mode in the Keycloak admin console under the client's Authorization settings\n- Check whether typed resources have ownerManagedAccess enabled","fix":"- Upgrade `org.keycloak:keycloak-services` to `26.6.4` or later\n- This advisory was withdrawn as a duplicate of GHSA-w3p3-7cjg-vgfw; check that advisory for the authoritative fix details","status":"withdrawn","published_at":"2026-06-25T18:30:41+00:00","first_seen_at":"2026-10-29T16:39:02+00:00","triaged_at":"2026-10-29T16:40:00+00:00","updated_at":"2026-10-29T16:40:00+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-29T16:40:00Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade `org.keycloak:keycloak-services` to `26.6.4` or later\n- This advisory was withdrawn as a duplicate of GHSA-w3p3-7cjg-vgfw; check that advisory for the authoritative fix details","reach":"network","title":"Keycloak: UMA permission ticket lets users reach other resources of same type","impact":"medium","summary":"A Keycloak authorization flaw lets an authenticated user who holds a UMA permission ticket for one resource gain access to every resource of that type on the same resource server. The attacker gets unauthorized reads or changes to those resources.","audience":"businesses","category":"package","nicknames":[],"who_cares":["keycloak","java","self-hosted","uma"],"confidence":0.6,"fix_status":"available","needs_auth":"yes","worst_case":"authenticated user reads or modifies all resources of a type","analyst_note":"Advisory is withdrawn as duplicate; confirm fixed version and details against GHSA-w3p3-7cjg-vgfw before relying on this entry.","how_to_check":"- Check the Keycloak version with `kc.sh --version` or the `keycloak-services` jar version in your build\n- Check whether the resource server uses PERMISSIVE policy enforcement mode in the Keycloak admin console under the client's Authorization settings\n- Check whether typed resources have ownerManagedAccess enabled","plain_action":"","needs_analyst":true,"not_affected_if":["enforcing-policy-mode","no-owner-managed-access","explicit-policy-on-resource-type"],"who_is_affected":"Only resource servers in PERMISSIVE policy enforcement mode that use typed resources with ownerManagedAccess enabled and no explicit policy protecting the resource type are exposed. Deployments using enforcing mode or explicit policies on those resource types can skip it. Users must already be authenticated and hold a UMA permission ticket for one resource.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000791,"input_tokens":4369,"output_tokens":708,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-639':29B '4vr2':17A,22A '7cjg':93C 'access':6A,55B,120C,142C,151C 'advisori':2A,78C,80C 'affect':190C 'allow':4A,145C 'attack':68B 'authent':43B,112C 'author':39B 'bypass':13A,138C 'chang':73B 'configur':183C 'consequ':206C 'control':143C 'cwe':28B 'descript':104C 'disclosur':210C 'duplic':1A,77C,88C 'enabl':195C 'enforc':187C 'even':163C 'everi':57B 'explicit':198C 'exploit':128C 'extern':101C 'flaw':40B,106C 'found':108C 'gain':54B,149C 'get':69B 'gfv4':16A,21A 'ghsa':15A,20A,91C 'ghsa-gfv4-4vr2-rr4g':14A,19A 'ghsa-w3p3-7cjg-vgfw':90C 'grant':116C 'hold':46B 'host':35B 'inform':209C 'java':30B 'keycloak':3A,26A,31B,38B 'keycloak-services':25A 'let':41B 'link':96C 'maintain':98C 'manag':119C 'mode':188C 'modif':212C 'one':52B,125C 'org.keycloak':24A 'org.keycloak.authorization':110C 'origin':103C 'ownermanagedaccess':194C 'packag':32B 'per':140C 'per-resourc':139C 'permiss':11A,49B,122C,134C,185C 'polici':186C,199C 'prefix':136C 'preserv':100C 'primari':205C 'protect':200C 'read':71B 'refer':102C 'request':135C 'requir':177C 'resourc':8A,53B,58B,65B,76B,126C,141C,154C,161C,174C,179C,192C,202C,214C 'rr4g':18A,23A 'self':34B 'self-host':33B 'server':66B,162C,180C 'services':27A 'specif':133C,173C 'ticket':12A,50B,123C,170C 'type':61B,157C,191C,203C 'uma':10A,36B,48B,121C 'unauthor':5A,70B,150C,208C 'use':131C 'user':44B,113C,118C,147C 'user-manag':117C 'vgfw':94C 'via':9A 'vulner':176C 'w3p3':92C 'withdrawn':83C 'within':158C","nicknames":[],"mitigations":[],"who_affected":"Only resource servers in PERMISSIVE policy enforcement mode that use typed resources with ownerManagedAccess enabled and no explicit policy protecting the resource type are exposed. Deployments using enforcing mode or explicit policies on those resource types can skip it. Users must already be authenticated and hold a UMA permission ticket for one resource.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"first_public_at":"2026-06-25T18:30:41+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-gfv4-4vr2-rr4g","url":"https://github.com/advisories/GHSA-gfv4-4vr2-rr4g","severity":"medium","published_at":"2026-06-25T18:30:41+00:00","modified_at":"2026-10-29T16:37:49+00:00","first_seen_at":"2026-10-29T16:39:02+00:00","fetched_at":"2026-10-29T16:39:02+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"}