SAP Cloud SDK for Python: OAuth2 server-side request forgery leads to credential theft
Summary
The SAP Cloud SDK for Python (sap-cloud-sdk) has an OAuth2 server-side request forgery vulnerability in multi-tenant SAP BTP applications. An attacker who can control the tenant_subdomain parameter can redirect OAuth2 token requests to a server they control, which exfiltrates client credentials. Exposure depends on whether custom or ISV-built Python applications on BTP use the SDK in a multi-tenant setup.
Affected
- sap-cloud-sdk versions below 0.45.2 (PyPI)
- Default configuration: unaffected according to the CVE record
- Third-party reports of re-introduction in 0.53.0 to 0.55.0 are unverified; the vendor advisory does not confirm whether this range is affected
Fixed in
- Version 0.45.2 validates tenant_subdomain against RFC 1123 DNS label rules before it is used in a token URL
- Newer releases (for example 0.55.1 or 0.58.3) are reported by third parties only and are unverified
Workaround
- Check tenant_subdomain against an allowlist of known registered tenant subdomains before any SDK call (vendor interim mitigation)
- Treat the tenant value as untrusted input at the application boundary
- Monitor outbound token requests to unexpected hosts
Exploitation
- No confirmed exploitation as of 14 October 2026 (SOCRadar)
- No public proof of concept confirmed by the sources reviewed
- Not listed in CISA KEV according to one aggregator; the CISA catalogue was not checked directly
Our recommendation
- Inventory all SAP BTP Python applications that use sap-cloud-sdk, including custom and ISV-built apps
- Upgrade to at least 0.45.2 now, and preferably to the newest release; verify the installed version with 'pip show sap-cloud-sdk'
- Until patched, apply the tenant_subdomain allowlist and monitor outbound token requests
- Rotate OAuth client secrets as a precaution (this is a recommendation, not a vendor instruction)
- Re-check the GitHub advisory and CISA KEV for updates
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-4mv3-jxxm-9cx2 github.com
- SAP Security Patch Day url.sap
- SAP Cloud SDK for Python on GitHub github.com
- sap-cloud-sdk on PyPI pypi.org
- SOCRadar analysis socradar.io
- Aviatrix threat research aviatrix.ai
- VulDB CVE-2026-89111 vuldb.com
- OSV CVE-2026-89111 vulners.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 30 Oct 2026, 14:28.
Original description (NVD)
The SAP Cloud SDK for Python contains an OAuth2 SSRF vulnerability affecting multi-tenant BTP applications. An attacker who controls the tenant_subdomain parameter can redirect OAuth2 token requests to an attacker-controlled server, causing client credentials to be exfiltrated.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
