OAuth2 Credential Disclosure via SSRF in SAP Cloud SDK for Python
CVE-2026-89111 is a server-side request forgery vulnerability in SAP Cloud SDK for Python affecting multi-tenant SAP Business Technology Platform applications. Insufficient validation of the tenant_subdomain parameter during tenant-specific OAuth2 token URL construction allows an attacker-controlled value to redirect token requests to an attacker-controlled server, disclosing the application's OAuth2 client ID and client secret. Relevant token-request flows include Agent Gateway, Destination, and Document Management Service. SAP officially identifies versions below 0.45.2 as affected. Similar validation gaps were also identified in Destination service paths in versions 0.53.0–0.55.0 and Document Management Service paths in version 0.55.0; their formal inclusion under this CVE remains unspecified.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Exploitation exposes OAuth2 client credentials and can enable unauthorized access to SAP BTP services within the compromised client's roles and scopes. Depending on those permissions, attackers may access sensitive information or perform unauthorized operations affecting data integrity. Credential exposure can remain consequential beyond the initial redirected request. Administrative access and remote code execution are not automatic consequences. The published CVSS vector assigns high confidentiality and integrity impact and no availability impact.
If you can’t patch tonight, do this now.
If upgrading is delayed, allowlist registered tenant names and reject any tenant_subdomain value not on that list before passing it to SDK calls. Review outbound OAuth2 token-request destinations, proxy and DNS telemetry, and BTP audit logs for unexpected endpoints or unusual use of affected client identities. If suspicious redirection is identified, assess credential exposure, rotate potentially exposed client secrets, and review the affected clients' permissions.
Patch, then assume compromise.
SAP identifies version 0.45.2 as the official fix for affected earlier releases. Because validation gaps were subsequently identified in versions 0.53.0–0.55.0, upgrade to a compatible, validated release at version 0.55.1 or later rather than relying solely on the original fixed-version threshold. Version 0.55.1 restored validation in shared token-request code, with validation testing confirmed through version 0.58.4. The fix validates tenant_subdomain against RFC 1123-style single-label DNS rules before constructing token URLs and rejects invalid values before sending credentials. Upgrading only within the 0.36 release line does not resolve the weakness.
No public exploits tracked yet. Mallory keeps watching.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
27 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.