Every CVE Search/ Get API key

CVE-2022-1438

Keycloak: xss on impersonation under specific circumstances

6.4 Medium

A flaw was found in Keycloak. Under specific circumstances, HTML entities are not sanitized during user impersonation, resulting in a Cross-site scripting (XSS) vulnerability.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
High
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.66%Up 0.6 points since Sep 22, 2023
90%50%10%1%

What each source reports

CVE List Score used 6.4

Keycloak: xss on impersonation under specific circumstances

A flaw was found in Keycloak. Under specific circumstances, HTML entities are not sanitized during user impersonation, resulting in a Cross-site scripting (XSS) vulnerability.

Record
CVE-2022-1438
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2023-1124 6.4

A flaw was found in Keycloak. Under specific circumstances, HTML entities are not sanitized during user impersonation, resulting in a Cross-site scripting (XSS) vulnerability.

Record
EUVD-2023-1124
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-03
GitHub AdvisoriesGHSA-w354-2f3c-qvg9 6.4

Keycloak vulnerable to Cross-site Scripting

A flaw was found in Keycloak. Under specific circumstances, HTML entities are not sanitized during user impersonation, resulting in a Cross-site scripting (XSS) vulnerability.

Details

This issue is the result of code found in the exception here: https://github.com/keycloak/keycloak/blob/48835576daa158443f69917ac309e1a7c951bc87/services/src/main/java/org/keycloak/authentication/AuthenticationProcessor.java#L1045

Steps to reproduce

When using the legacy admin console:

  1. Sign in as Admin user in first tab.
  2. In that tab create new user in keycloak admin section > intercept user creation request and modify it by including malicious js script there (in username field).
  3. Sign in as newly created user in second tab (same browser window but second tab).
  4. Navigate back to first tab where you are signed in as admin, navigate to admin console which lists all application users.
  5. Choose any user (except newly created malicious one) – modify anything for that user in his settings. E.g. navigate to credentials tab and set new credentials for him. Also set new password as temporary.
  6. After update for that user is made, use impersonate option on that modified user.
  7. You should see window with form which requires providing new credentials – fill it and submit request.
  8. Just after submiting request user will get notified that “You are already authenticated as different user ‘[user + payload]’ in this session. Please sign out first.” And malicious payload will be executed instantly.
Record
GHSA-w354-2f3c-qvg9
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-79
Updated
2026-11-02
NVD 6.4

A flaw was found in Keycloak. Under specific circumstances, HTML entities are not sanitized during user impersonation, resulting in a Cross-site scripting (XSS) vulnerability.

Record
CVE-2022-1438
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H
CVSS 3.1
4.8 MediumCVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-w354-2f3c-qvg9 6.4

Keycloak vulnerable to Cross-site Scripting

A flaw was found in Keycloak. Under specific circumstances, HTML entities are not sanitized during user impersonation, resulting in a Cross-site scripting (XSS) vulnerability.

Details

This issue is the result of code found in the exception here: https://github.com/keycloak/keycloak/blob/48835576daa158443f69917ac309e1a7c951bc87/services/src/main/java/org/keycloak/authentication/AuthenticationProcessor.java#L1045

Steps to reproduce

When using the legacy admin console:

  1. Sign in as Admin user in first tab.
  2. In that tab create new user in keycloak admin section > intercept user creation request and modify it by including malicious js script there (in username field).
  3. Sign in as newly created user in second tab (same browser window but second tab).
  4. Navigate back to first tab where you are signed in as admin, navigate to admin console which lists all application users.
  5. Choose any user (except newly created malicious one) – modify anything for that user in his settings. E.g. navigate to credentials tab and set new credentials for him. Also set new password as temporary.
  6. After update for that user is made, use impersonate option on that modified user.
  7. You should see window with form which requires providing new credentials – fill it and submit request.
  8. Just after submiting request user will get notified that “You are already authenticated as different user ‘[user + payload]’ in this session. Please sign out first.” And malicious payload will be executed instantly.
Record
GHSA-w354-2f3c-qvg9
CVSS 3.1
6.4 MediumCVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-79
Updated
2026-11-02
OSVRHSA-2023:1043 9.8

Red Hat Security Advisory: Red Hat Single Sign-On 7.6.2 security update on RHEL 7

Record
RHSA-2023:1043
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2023:1044 9.8

Red Hat Security Advisory: Red Hat Single Sign-On 7.6.2 security update on RHEL 8

Record
RHSA-2023:1044
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2023:1045 9.8

Red Hat Security Advisory: Red Hat Single Sign-On 7.6.2 security update on RHEL 9

Record
RHSA-2023:1045
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
org.keycloak:keycloak-services
Maven
through 21.0.0 None known
org.keycloak:keycloak-services
Maven
through 21.0.0, plus listed versions
1.0-alpha-11.0-alpha-1-120620131.0-alpha-21.0-alpha-31.0-alpha-4
Show 45 moreShow less
1.0-beta-11.0-beta-1-201505211.0-beta-1-201505231.0-beta-21.0-beta-31.0-beta-41.0-final1.0-rc-11.0-rc-21.0.1.Final1.0.2.Final1.0.3.Final1.0.4.Final1.0.5.Final1.1.0.Beta11.1.0.Beta21.1.0.Final1.1.1.Final1.2.0.Beta11.2.0.CR11.2.0.Final1.3.0.Final1.3.1.Final1.4.0.Final1.5.0-Final1.5.0.Final1.5.1.Final1.6.0.Final1.6.1.Final1.7.0.CR11.7.0.Final1.8.0.Alpha11.8.0.CR11.8.0.CR21.8.0.CR31.8.0.Final1.8.1.Final1.9.0.CR11.9.0.Final1.9.1.Final1.9.2.Final1.9.3.Final1.9.4.Final1.9.5.Final1.9.7.Final
None known
rh-sso7-keycloak
Red Hat:red_hat_single_sign_on:7.6::el7
From an advisory covering 31 CVEs
before 0:18.0.6-1.redhat_00001.1.el7sso
0:18.0.6-1.redhat_00001.1.el7sso
rh-sso7-keycloak-server
Red Hat:red_hat_single_sign_on:7.6::el7
From an advisory covering 31 CVEs
before 0:18.0.6-1.redhat_00001.1.el7sso
0:18.0.6-1.redhat_00001.1.el7sso
rh-sso7-keycloak
Red Hat:red_hat_single_sign_on:7.6::el8
From an advisory covering 31 CVEs
before 0:18.0.6-1.redhat_00001.1.el8sso
0:18.0.6-1.redhat_00001.1.el8sso
rh-sso7-keycloak-server
Red Hat:red_hat_single_sign_on:7.6::el8
From an advisory covering 31 CVEs
before 0:18.0.6-1.redhat_00001.1.el8sso
0:18.0.6-1.redhat_00001.1.el8sso
rh-sso7-keycloak
Red Hat:red_hat_single_sign_on:7.6::el9
From an advisory covering 31 CVEs
before 0:18.0.6-1.redhat_00001.1.el9sso
0:18.0.6-1.redhat_00001.1.el9sso
rh-sso7-keycloak-server
Red Hat:red_hat_single_sign_on:7.6::el9
From an advisory covering 31 CVEs
before 0:18.0.6-1.redhat_00001.1.el9sso
0:18.0.6-1.redhat_00001.1.el9sso

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2022-1438 is a medium vulnerability (CVSS 6.4) in Redhat Keycloak, published March 1, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.66%, the 52nd percentile. No source names a fixed version.

References

Show 152 moreShow less
This page doesn't list everything

Left out here: 98 versions. The JSON record has them.

MoveEnter Open