CVE-2023-6837

Incorrect Authorization in Multiple WSO2 Products via Federated Authentication with JIT Provisioning Leading to User Impersonation

HIGH
8.2
CVSS Score
Published: December 15, 2023 at 09:41 AM UTC
Updated: June 17, 2026 at 06:51 AM UTC
5 products affected across 1 vendorAPI ManagerIdentity ServerIdentity Server As Key Manager

Using WSO2 API Manager by WSO2?

Get instant alerts when new vulnerabilities affect WSO2 API Manager - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH8.2
Exploit prediction
EPSS 0.5%

Description

Multiple WSO2 products have been identified as vulnerable to perform user impersonatoin using JIT provisioning. In order for this vulnerability to have any impact on your deployment, following conditions must be met: * An IDP configured for federated authentication and JIT provisioning enabled with the "Prompt for username, password and consent" option. * A service provider that uses the above IDP for federated authentication and has the "Assert identity using mapped local subject identifier" flag enabled. Attacker should have: * A fresh valid user account in the federated IDP that has not been used earlier. * Knowledge of the username of a valid user in the local IDP. When all preconditions are met, a malicious actor could use JIT provisioning flow to perform user impersonation.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.5.0 ≤ v < 2.5.0.322.6.0 ≤ v < 2.6.0.523.0.0 ≤ v < 3.0.0.503.1.0 ≤ v < 3.1.0.723.2.0 ≤ v < 3.2.0.864.0.0 ≤ v < 4.0.0.352.5.02.6.03.0.03.1.03.2.04.0.0
Affected range stops below 2.5.0.32, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.6.0.52, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.0.0.50, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.1.0.72, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.2.0.86, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.0.0.35, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 2.5.0 (unknown)
v < 5.11.256.35.11.257.0 ≤ v < 5.12.153.195.12.154.0 ≤ v < 5.20.254
Affected range stops below 5.11.256.3, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.12.153.19, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.20.254, so it looks safe — our inference, not a vendor statement
v < 5.11.256.35.11.256 ≤ v < 5.11.256.35.11.257.0 ≤ v < 5.12.153.215.12.153 ≤ v < 5.12.153.215.12.154.0 ≤ v < 5.12.387.75.12.387 ≤ v < 5.12.387.75.12.388.0 ≤ v < 5.14.97.225.14.97 ≤ v < 5.14.97.225.14.98.0 ≤ v < 5.17.5.1065.17.5 ≤ v < 5.17.5.1065.17.6.0 ≤ v < 5.18.187.765.18.187 ≤ v < 5.18.187.765.18.188.0 ≤ v < 5.20.2545.11.2565.12.1535.12.3875.14.975.17.55.18.187
Affected range stops below 5.11.256.3, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.12.153.21, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.12.387.7, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.14.97.22, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.17.5.106, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.18.187.76, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.20.254 (unaffected)
5.10.0 ≤ v < 5.10.0.785.11.0 ≤ v < 5.11.0.695.6.0 ≤ v < 5.6.0.165.7.0 ≤ v < 5.7.0.355.8.0 ≤ v < 5.8.0.265.9.0 ≤ v < 5.9.0.385.10.05.11.05.6.05.7.05.8.05.9.0
Affected range stops below 5.10.0.78, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.11.0.69, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.6.0.16, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.7.0.35, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.8.0.26, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.9.0.38, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.6.0 (unknown)
5.10.0 ≤ v < 5.10.0.805.6.0 ≤ v < 5.6.0.175.7.0 ≤ v < 5.7.0.395.9.0 ≤ v < 5.9.0.455.10.05.6.05.7.05.9.0
Affected range stops below 5.10.0.80, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.6.0.17, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.7.0.39, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.9.0.45, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.6.0 (unknown)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

References (1)

CVSS

Attack Vector
NETWORK
Complexity
HIGH
Privileges
LOW
User Interaction
NONE
Scope
CHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
NONE
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-863NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card