{"schemaVersion":3,"id":"CVE-2025-14559","aliases":["UBUNTU-CVE-2025-14559","CGA-2289-w5xp-9fmg","CGA-22hr-m562-fhrr","CGA-5f9f-899x-5hmm","CGA-7xr8-pj4r-ww28","CGA-cvwx-84q9-6j42","CGA-cxqx-5hp2-57j4","CGA-j339-8w56-4h5f","CGA-j44g-6623-9vj3","CGA-3q35-7fcp-mrm6","CGA-4259-5m8m-2v9f","CGA-4fjm-6pmp-555x","CGA-588p-rwq9-x7x4","CGA-f96m-v32m-qh44","CGA-g5xf-jw4h-2h5w","CGA-hh56-25fm-cqr6","CGA-hxq3-c7rg-489f","CGA-jh46-3ff4-p4jg","CGA-m42f-ccj2-6j9c","GHSA-wv3h-x6c4-r867","CGA-rc84-q384-59c2","CGA-v468-pffc-hggr","CGA-v58p-3rhw-7923","CGA-v9g9-w2fp-37c4","CGA-w229-vmjc-q4rg","CGA-xgv3-hg8x-7q2x"],"status":"published","duplicateOf":null,"title":null,"description":"A flaw was found in the keycloak-services component of Keycloak. This vulnerability allows the issuance of access and refresh tokens for disabled users, leading to unauthorized use of previously revoked privileges, via a business logic vulnerability in the Token Exchange implementation when a privileged client invokes the token exchange flow.","dates":{"published":"2026-01-21T06:13:31.263Z","modified":"2026-02-10T01:04:33.642Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.5,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N","exploitability":3.1,"impact":8.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Wolfi","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N","exploitability":3.1,"impact":8.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N","exploitability":3.1,"impact":8.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Maven","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N","exploitability":3.1,"impact":8.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00486,"percentile":0.40552,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":-0.007000000000000062,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.00493},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00461,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00461,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00461,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00461,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00486,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00486,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00486,"percentile":0.40552}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00493,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00486,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00486,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00486,"percentile":0.40552}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-840","name":"Business Logic Errors","description":"Weaknesses in this category identify some of the underlying problems that commonly allow attackers to manipulate the business logic of an application. Errors in business logic can be devastating to an entire application. They can be difficult to find automatically, since they typically involve legitimate use of the application's functionality. However, many business logic errors can exhibit patterns that are similar to well-understood implementation and design weaknesses.","type":"category","status":"Incomplete","abstraction":null,"likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/840.html"}],"affected":[{"vendor":"chainguard","product":"keycloak-26.3-iamguarded-compat","name":"keycloak-26.3-iamguarded-compat","label":"keycloak-26.3-iamguarded-compat","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-26.3-iamguarded-compat","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-26.4","name":"keycloak-26.4","label":"keycloak-26.4","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-26.4","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-26.4-iamguarded-compat","name":"keycloak-26.4-iamguarded-compat","label":"keycloak-26.4-iamguarded-compat","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-26.4-iamguarded-compat","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-26.5","name":"keycloak-26.5","label":"keycloak-26.5","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-26.5","purlType":"apk","versions":[{"text":"< 26.5.2-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.5.2-r0","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-26.5-iamguarded-compat","name":"keycloak-26.5-iamguarded-compat","label":"keycloak-26.5-iamguarded-compat","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-26.5-iamguarded-compat","purlType":"apk","versions":[{"text":"< 26.5.2-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.5.2-r0","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-fips-26.3-iamguarded-fips","name":"keycloak-fips-26.3-iamguarded-fips","label":"keycloak-fips-26.3-iamguarded-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-fips-26.3-iamguarded-fips","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-fips-26.4","name":"keycloak-fips-26.4","label":"keycloak-fips-26.4","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-fips-26.4","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-fips-26.4-iamguarded-fips","name":"keycloak-fips-26.4-iamguarded-fips","label":"keycloak-fips-26.4-iamguarded-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-fips-26.4-iamguarded-fips","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-fips-26.5","name":"keycloak-fips-26.5","label":"keycloak-fips-26.5","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-fips-26.5","purlType":"apk","versions":[{"text":"< 26.5.2-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.5.2-r0","eol":null,"hubHref":null},{"vendor":"chainguard","product":"keycloak-fips-26.5-iamguarded-fips","name":"keycloak-fips-26.5-iamguarded-fips","label":"keycloak-fips-26.5-iamguarded-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/keycloak-fips-26.5-iamguarded-fips","purlType":"apk","versions":[{"text":"< 26.5.2-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.5.2-r0","eol":null,"hubHref":null},{"vendor":"chainguard","product":"request-9047-keycloak-fips-26.4","name":"request-9047-keycloak-fips-26.4","label":"request-9047-keycloak-fips-26.4","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/request-9047-keycloak-fips-26.4","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"request-9047-keycloak-fips-26.4-iamguarded-fips","name":"request-9047-keycloak-fips-26.4-iamguarded-fips","label":"request-9047-keycloak-fips-26.4-iamguarded-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/request-9047-keycloak-fips-26.4-iamguarded-fips","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"wolfi","product":"keycloak-26.4","name":"keycloak-26.4","label":"keycloak-26.4","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/keycloak-26.4","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"wolfi","product":"keycloak-26.4-iamguarded-compat","name":"keycloak-26.4-iamguarded-compat","label":"keycloak-26.4-iamguarded-compat","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/keycloak-26.4-iamguarded-compat","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"wolfi","product":"keycloak-26.5","name":"keycloak-26.5","label":"keycloak-26.5","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/keycloak-26.5","purlType":"apk","versions":[{"text":"< 26.5.2-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.5.2-r0","eol":null,"hubHref":null},{"vendor":"wolfi","product":"keycloak-26.5-iamguarded-compat","name":"keycloak-26.5-iamguarded-compat","label":"keycloak-26.5-iamguarded-compat","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/keycloak-26.5-iamguarded-compat","purlType":"apk","versions":[{"text":"< 26.5.2-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 26.5.2-r0","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"python-keycloak","name":"python-keycloak","label":"python-keycloak","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/python-keycloak","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"org.keycloak","product":"keycloak-services","name":"org.keycloak:keycloak-services","label":"keycloak-services","ecosystem":"Maven","cpePart":null,"purl":"pkg:maven/org.keycloak/keycloak-services","purlType":"maven","versions":[{"text":"≥ 26.5.0, < 26.5.2","noFixRecorded":false,"fixedIn":null},{"text":"< 26.4.9","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 26.5.0, < 26.5.2 | < 26.4.9","eol":null,"hubHref":null}],"affectedCount":18,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://access.redhat.com/errata/RHSA-2026:2365","label":"access.redhat.com/errata/RHSA-2026:2365","hostname":"access.redhat.com","tags":["Vendor Advisory","X Refsource REDHAT","WEB"]},{"url":"https://access.redhat.com/errata/RHSA-2026:2366","label":"access.redhat.com/errata/RHSA-2026:2366","hostname":"access.redhat.com","tags":["Vendor Advisory","X Refsource REDHAT","WEB"]},{"url":"https://access.redhat.com/security/cve/CVE-2025-14559","label":"access.redhat.com/security/cve/CVE-2025-14559","hostname":"access.redhat.com","tags":["VDB Entry","X Refsource REDHAT","REPORT","WEB"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2421711","label":"bugzilla.redhat.com/show_bug.cgi?id=2421711","hostname":"bugzilla.redhat.com","tags":["Issue Tracking","X Refsource REDHAT","REPORT","WEB"]},{"url":"https://ubuntu.com/security/CVE-2025-14559","label":"ubuntu.com/security/CVE-2025-14559","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-14559","label":"www.cve.org/CVERecord?id=CVE-2025-14559","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-14559","label":"nvd.nist.gov/vuln/detail/CVE-2025-14559","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/keycloak/keycloak/issues/45651","label":"github.com/keycloak/keycloak/issues/45651","hostname":"github.com","tags":["WEB"]},{"url":"https://github.com/keycloak/keycloak/commit/2d0aa31c4830ebaad094c3762e78b884c141e659","label":"github.com/keycloak/keycloak/commit/2d0aa31c4830ebaad094c3762e78b884c141e659","hostname":"github.com","tags":["WEB"]},{"url":"https://github.com/keycloak/keycloak/commit/d67349f3aa9fed5c61750619d0f9de6356aeaeff","label":"github.com/keycloak/keycloak/commit/d67349f3aa9fed5c61750619d0f9de6356aeaeff","hostname":"github.com","tags":["WEB"]},{"url":"https://github.com/keycloak/keycloak","label":"github.com/keycloak/keycloak","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://github.com/keycloak/keycloak/releases/tag/26.5.2","label":"github.com/keycloak/keycloak/releases/tag/26.5.2","hostname":"github.com","tags":["WEB"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":["CGA-2WVQ-3MM5-CVG8"]},"timeline":[{"kind":"published","date":"2026-01-21T06:13:31.263Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-02-10T01:04:33.642Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":26,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T06:56:00.613Z","stale":false,"partial":false}}