Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach multi-tenant BTP app endpoint
-
DeliveryInject malicious tenant_subdomain value
-
ExploitSDK sends OAuth2 token request to attacker host
-
ExecutionCapture exfiltrated client credentials
-
ImpactReuse credentials for tenant access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a multi-tenant SAP BTP application built on the SAP Cloud SDK for Python where the attacker can control or influence the tenant_subdomain parameter used to construct the OAuth2 token endpoint; this attacker-controlled subdomain is redirected to an attacker server to capture client credentials. Limiting factors: the target must be a multi-tenant deployment using the affected SDK for OAuth2 token acquisition, and the attacker must have a path to supply or manipulate the tenant_subdomain input - single-tenant deployments or configurations that do not derive the token URL from attacker-influenced subdomain data are not exposed. No user interaction and no application authentication are indicated by the CVSS vector (UI:N/PR:N). |
| Impact | This is a maximum-severity (CVSS 10.0) server-side request forgery (CWE-918) in the SAP Cloud SDK for Python affecting multi-tenant SAP BTP applications. The CVSS vector (AV:N/AC:L/PR:N/UI:N/S:C) describes a network-reachable, low-complexity attack with no required privileges and a scope change, which aligns with an attacker influencing the tenant_subdomain parameter to redirect OAuth2 token requests and exfiltrate client credentials to an attacker-controlled server. Weighing the signals: the CVSS score is at the ceiling and the weakness class (OAuth2 credential theft via SSRF) is genuinely serious because stolen client credentials can enable broad follow-on compromise, which justifies high-priority remediation for anyone running affected multi-tenant BTP apps. However, several real-risk signals are MISSING: no EPSS score, no CISA KEV listing, and no public POC were provided, so there is no evidence of active or widespread exploitation at time of analysis. There is also a notable qualifier the raw score hides: exploitation depends on the attacker being able to control the tenant_subdomain input in a multi-tenant deployment, so the PR:N rating reflects protocol-level unauthenticated reachability rather than a trivially internet-exposed default. One data tension to verify: the CVSS assigns I:H (high integrity impact), but the described outcome is credential exfiltration, which is primarily a confidentiality impact - the integrity rating likely reflects downstream credential misuse rather than direct data tampering, and should be confirmed with SAP's advisory. |
| Exploit ScenarioDerived | An attacker interacting with a multi-tenant SAP BTP application built on the SAP Cloud SDK for Python supplies a malicious value for the tenant_subdomain parameter, causing the SDK to direct its OAuth2 token request to an attacker-controlled host instead of the legitimate identity provider. The application's client credentials are transmitted to that host and captured, giving the attacker reusable OAuth2 credentials. No public exploit was identified at time of analysis, and exploitation requires that the attacker can influence the tenant_subdomain value processed by the SDK. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Server-side request forgery in the SAP Cloud SDK for Python lets remote, unauthenticated attackers redirect OAuth2 token requests to a server they control by manipulating the tenant_subdomain value used to build the token endpoint URL, resulting in exfiltration of the application's OAuth2 client credentials. Exposure is limited to multi-tenant SAP BTP applications that use the SDK for OAuth2 token acquisition and allow attacker influence over the tenant_subdomain input; single-tenant deployments, or those that do not derive the token URL from attacker-supplied data, are not exposed. The vulnerability carries a maximum-severity score of CVSS 10.0, and no public exploit code was identified at time of analysis; no confirmed actively exploited (CISA KEV) status applies.
RemediationAI
Apply the fixed SAP Cloud SDK for Python release identified in the vendor advisory GHSA-4mv3-jxxm-9cx2 and track the SAP Security Patch Day page at https://url.sap/sapsecuritypatchday for the corresponding patch note; the provided reference data does not state an exact fixed version number, so confirm it against the advisory before upgrading. Where an immediate upgrade is not possible, stop deriving the OAuth2 token endpoint from request-supplied tenant data: resolve the tenant to a token URL through a server-side lookup table and strictly allowlist the resulting host (for example, only *.authentication.sap.hana.ondemand.com) before making the call, and validate tenant_subdomain against a hard-coded regex of legitimate tenant names - the trade-off is that new or dynamically provisioned tenants must be added to the allowlist explicitly. Additionally, constrain outbound egress from the application so it can only reach known SAP token endpoints, which neutralizes the exfiltration path but may break integrations that legitimately call other hosts. Rotate any OAuth2 client credentials that may have been exposed, since a successful SSRF would have disclosed the client_secret to the attacker.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is a CWE-918 server-side request forgery in the Python flavor of the SAP Cloud SDK, specifically in the OAuth2 client-credentials handling used by multi-tenant SAP BTP applications. The SDK builds the OAuth2 token endpoint URL from a tenant identifier - here the tenant_subdomain parameter - and when that input is attacker-controlled the SDK will issue the token request to an attacker-chosen host. Because SAP OAuth2 client-credentials requests carry the client_id and client_secret in the request (Basic auth header or body), the attacker's server receives those credentials in cleartext, effectively compromising the application's identity towards SAP services. The CVSS 3.1 vector reflects network reachability, no privileges, no user interaction, and a scope change (S:C) because exploitation pivots from the vulnerable SDK component to the attacker's infrastructure; our independent assessment scores confidentiality as High with integrity impact Not-affected (C:H/I:N/A:N), whereas the upstream description's vector lists both confidentiality and integrity as High. The affected CPE string (cpe:2.3:a:sap_se:sap_cloud:*:*:*:*:*:*:*:*) is version-agnostic, so affected-version scoping must come from the vendor advisory rather than from the CPE.
Know when Sap Cloud gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
Network-reachable, low-complexity SSRF needing no privileges or interaction, with a scope change to the OAuth2 flow; impact is credential confidentiality (C:H), so integrity and availability are N.
Primary rating from Vendor (sap).
CVSS VectorVendor: sap
Lifecycle Timeline
2DescriptionCVE.org
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.
Articles & Coverage 1
Technical POC Analysis
Bug class: CWE-918 Server-Side Request Forgery (SSRF).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A maximum-severity flaw in the SAP Cloud SDK for Python lets an attacker redirect OAuth2 token requests to a server they control and capture the OAuth2 client credentials of the application. Exposure is confined to multi-tenant SAP BTP applications that build their token endpoint from an externally influenced tenant_subdomain value; single-tenant deployments and applications using fixed, non-attacker-influenced token URLs are not affected. Because the outcome is theft of application credentials rather than a service outage, leadership should treat this as a tenant-isolation and third-party trust risk that can enable follow-on access to connected SAP systems.
No vendor patch is available, so interim mitigations are required: restrict tenant_subdomain to a strict allowlist of known tenants or replace dynamic token-URL construction with static, pre-configured endpoints; apply outbound egress filtering so token requests resolve only to trusted SAP identity endpoints; rotate OAuth2 client credentials for affected multi-tenant applications and monitor for anomalous token acquisition or credential use; and log and alert on unexpected token endpoint destinations until a fixed SDK version is released and deployed.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
EUVD-2026-98193
GHSA-m3j7-wp2j-mhc3
NVD
CVE.org
EPSS
Exploit-DB