CVE-2025-13394

Cross-Site Request Forgery via Ajax Processor Endpoints in Multiple WSO2 Products Enables Unauthorized Actions

MEDIUM
5.4
CVSS Score
Published: August 6, 2026 at 07:33 AM UTC
Updated: September 29, 2026 at 02:10 PM UTC
47 products affected across 1 vendorAPI ManagerIdentity ServerIdentity Server As Key Manager

Using WSO2 Identity Server by WSO2?

Get instant alerts when new vulnerabilities affect WSO2 Identity Server - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.4
Exploit prediction
EPSS 0.1%
SSVC
No known exploit

Description

The Ajax processor within the Carbon console fails to adequately protect state-changing operations from Cross-Site Request Forgery (CSRF) attacks. Specifically, it utilizes the HTTP GET method for these operations, and while the SameSite=Lax cookie attribute is employed for mitigation, this mechanism is bypassed as it permits cookies to be sent with cross-origin top-level navigation requests, including GET requests. This allows an attacker to trick an authenticated user's browser into unknowingly executing unintended actions. An attacker can exploit this vulnerability to perform unauthorized state-altering requests on behalf of authenticated users. This could lead to consequences such as data modification, account changes, or other actions that could result in data compromise or loss of user control over their account. However, this attack is only feasible if the Carbon console and related services are exposed to the public internet, which is not recommended according to WSO2's security guidelines.

Affected

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

4.5.0 ≤ v < 4.5.0.394.6.0 ≤ v < 4.6.0.34.5.04.6.0
Affected range stops below 4.5.0.39, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.6.0.3, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 4.5.0 (unknown)
3.1.0 ≤ v < 3.1.0.3523.2.0 ≤ v < 3.2.0.4563.2.1 ≤ v < 3.2.1.754.0.0 ≤ v < 4.0.0.3764.1.0 ≤ v < 4.1.0.2394.2.0 ≤ v < 4.2.0.1794.3.0 ≤ v < 4.3.0.914.4.0 ≤ v < 4.4.0.554.5.0 ≤ v < 4.5.0.384.6.0 ≤ v < 4.6.0.33.1.03.2.03.2.14.0.04.1.04.2.04.3.04.4.04.5.04.6.0
Affected range stops below 3.1.0.352, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.2.0.456, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.2.1.75, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.0.0.376, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.1.0.239, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.2.0.179, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.3.0.91, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.4.0.55, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.5.0.38, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.6.0.3, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 3.1.0 (unknown)
6.6.0 ≤ v < 6.6.0.2276.6.0
Affected range stops below 6.6.0.227, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 6.6.0 (unknown)
5.10.0 ≤ v < 5.10.0.3815.11.0 ≤ v < 5.11.0.4286.0.0 ≤ v < 6.0.0.2556.1.0 ≤ v < 6.1.0.2567.0.0 ≤ v < 7.0.0.1337.1.0 ≤ v < 7.1.0.417.2.0 ≤ v < 7.2.0.35.10.05.11.06.0.06.1.07.0.07.1.07.2.0
Affected range stops below 5.10.0.381, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.11.0.428, so it looks safe — our inference, not a vendor statement
Affected range stops below 6.0.0.255, so it looks safe — our inference, not a vendor statement
Affected range stops below 6.1.0.256, so it looks safe — our inference, not a vendor statement
Affected range stops below 7.0.0.133, so it looks safe — our inference, not a vendor statement
Affected range stops below 7.1.0.41, so it looks safe — our inference, not a vendor statement
Affected range stops below 7.2.0.3, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.10.0 (unknown)
5.10.0 ≤ v < 5.10.0.3725.10.0
Affected range stops below 5.10.0.372, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.10.0 (unknown)
2.0.0 ≤ v < 2.0.0.4012.0.0
Affected range stops below 2.0.0.401, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 2.0.0 (unknown)
2.0.0 ≤ v < 2.0.0.4212.0.0
Affected range stops below 2.0.0.421, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 2.0.0 (unknown)
4.5.0 ≤ v < 4.5.0.374.6.0 ≤ v < 4.6.0.34.5.04.6.0
Affected range stops below 4.5.0.37, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.6.0.3, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 4.5.0 (unknown)
4.5.0 ≤ v < 4.5.0.374.6.0 ≤ v < 4.6.0.34.5.04.6.0
Affected range stops below 4.5.0.37, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.6.0.3, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 4.5.0 (unknown)
3.3.12 ≤ v < 3.3.12.33.3.12
Affected range stops below 3.3.12.3, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in x (unaffected)

Remediation

No guide yet

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

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

5.4MEDIUMWSO2
Attack Vector
NETWORK
Complexity
LOW
Privileges
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
NONE
Integrity
LOW
Availability
LOW
Vector?

Quick Info

StatusANALYZED
CWE
CWE-352

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