Skip to main content

SAP Cloud SDK EUVDEUVD-2026-98193

| CVE-2026-89111 CRITICAL
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-13 sap GHSA-m3j7-wp2j-mhc3
10.0
CVSS 3.1 · Vendor: sap
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach multi-tenant BTP app endpoint
  2. Delivery
    Inject malicious tenant_subdomain value
  3. Exploit
    SDK sends OAuth2 token request to attacker host
  4. Execution
    Capture exfiltrated client credentials
  5. Impact
    Reuse 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

SAP Cloud sap-cloud-sdk < 0.45.2

Affected Packages

euvd sap_cloud_sap_cloud_sdk fix: 0.45.2

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

Vendor (sap) PRIMARY 10.0 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
vuln.today AI 8.6 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N

Primary rating from Vendor (sap).

CVSS VectorVendor: sap

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 02:01 EUVD
CVE Published
Oct 13, 2026 - 00:24 cve.org
CRITICAL 10.0

DescriptionCVE.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.

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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

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

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Low
niche SAP BTP Python SDK, limited to multi-tenant BTP developer deployments
Threat Intel
1
1 source
Social Media
3
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy