Skip to content
Fencer Vulns
medium 6.8

CVE-2025-0663 json

Potential cross-tenant account takeover vulnerability in Multiple WSO2 Products via Adaptive Authentication and Auto-Login

published 2025-09-23 13 mo ago modified 2026-10-18 21 d ago also EUVD-2025-30916

cvss
6.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 15%
public exploits
0
none known

Summary

A cross-tenant authentication vulnerability exists in multiple WSO2 products due to improper cryptographic design in Adaptive Authentication. A single cryptographic key is used across all tenants to sign authentication cookies, allowing a privileged user in one tenant to forge authentication cookies for users in other tenants.

Because the Auto-Login feature is enabled by default, this flaw may allow an attacker to gain unauthorized access and potentially take over accounts in other tenants. Successful exploitation requires access to Adaptive Authentication functionality, which is typically restricted to high-privileged users. The vulnerability is only exploitable when Auto-Login is enabled, reducing its practical impact in deployments where the feature is disabled.

Patch / fix

  • WSO2 WSO2 Open Banking IAM 2.0.0.387
  • WSO2 WSO2 Identity Server as Key Manager 5.10.0.336
  • WSO2 WSO2 Identity Server 5.10.0.343, 5.11.0.392, 6.0.0.228, 6.1.0.220, 7.0.0.88

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
total
Assessed
13 mo ago

Exploit prediction

0.24% chance of exploitation in the next 30 days, higher than 15% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 6.8 CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H

Affected products

  • WSO2 WSO2 Open Banking IAM
  • WSO2 WSO2 Identity Server as Key Manager
  • WSO2 WSO2 Identity Server

Classification

Weakness

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.