SAP published a security advisory on October 13 disclosing a CVSS 10.0 vulnerability in the Python edition of its Cloud SDK: under specific conditions, affected applications will transmit their OAuth2 client credentials (client ID and secret) to a server controlled by an attacker. According to The Hacker News, which reported on the advisory the same day, the flaw affects multi-tenant applications running on SAP Business Technology Platform (BTP) that depend on the SDK — SAP's official Python client library for BTP services.

Impact Scope

The Cloud SDK for Python is a common entry point for Python applications accessing SAP services on BTP. The flaw sits in the token-exchange flow: when the tenant subdomain in a request destination is externally influenced, the SDK sends its authentication request — including the embedded client credentials — to a location chosen by the attacker. Once credentials are exfiltrated, an attacker can obtain tokens on behalf of the application; depending on the application's privilege scope, this may extend to enterprise data and functionality.

Attack Prerequisite: Not Zero-Click

Despite the maximum CVSS score, this is not an unauthenticated, automatically wormable flaw. SAP's advisory is explicit on this point: the attacker must first be able to control the tenant subdomain. In other words, the intrusion requires an existing foothold — for example, the ability to influence tenant subdomain configuration, DNS records, or the application's request-destination settings. This is a credential-theft issue that dramatically amplifies an existing compromise, not a flaw any external party can exploit in a single strike. Organizations assessing their exposure should weigh this prerequisite rather than treating the score alone as proof of a wormable catastrophe.

Why This Matters Beyond SAP Customers

For enterprises that depend heavily on SAP systems, multi-tenant applications on BTP often feed directly into procurement, logistics, finance, and HR workflows. OAuth2 client credentials are the identity foundation for those integrations; once leaked, the blast radius extends well past a single application to every backend reachable through tokens minted with that credential.

The flaw is also easy to miss in a typical enterprise environment. No application code changes — the credential leaves because of behaviour inside the library itself. Conventional code review, static analysis (SAST), and secret-scanning tooling are poorly suited to catching this class of issue. Python developers and cloud-native teams should take note: authentication flows inside official vendor SDKs are part of the supply chain, and library version management is as much a security boundary as credential management.

After Patching: Credential Rotation Is Mandatory

Upgrading the library is not sufficient. Because credential exfiltration prior to the patch cannot be ruled out, organizations should immediately rotate OAuth2 client credentials for every affected application once the fix is applied, and review recent token-issuance logs for anomalous sources or unusual time windows. SAP directs administrators to the official advisory for the list of affected and patched versions.

Hong Kong and APAC Exposure Checklist

The following general guidance is intended for teams running SAP BTP across Hong Kong and the wider APAC region:

  1. Inventory usage. Identify any Python applications that depend on Cloud SDK for Python, particularly multi-tenant apps on BTP. Include production, testing, and container images in the audit.
  2. Compare versions. Check current SDK versions against the affected and patched lists in SAP's advisory.
  3. Review subdomain control. Determine who manages the tenant subdomain and request-destination settings; look for any externally writable or externally influenceable links in the chain.
  4. Audit credential storage. Confirm whether OAuth2 client secrets are hardcoded in source, configuration files, or CI/CD pipelines, and migrate to a secrets manager.
  5. Rotate credentials after patching. Replace client credentials as soon as the upgrade is complete, and review token-issuance history for anomalies.
  6. Track continuously. Add the SDK to your software bill of materials (SBOM) and monitor for subsequent patch advisories.

In industries such as logistics, retail, and financial services — all of which rely heavily on SAP integrations — credential theft affecting even a single tenant can ripple outward along supply chains and payment flows. Teams are advised to complete this review without delay.


SAP 已於 10 月 13 日發布安全公告,披露 Python 版 Cloud SDK 存在一個評分為 CVSS 10.0 的嚴重漏洞:在特定條件下,受影響應用程式的 OAuth2 client credentials(用戶端識別碼與金鑰)會被傳送至攻擊者可控制的伺服器。根據 The Hacker News 同日報導,受影響的是使用該 SDK 的 SAP Business Technology Platform(BTP)多租戶應用程式——Cloud SDK 是 SAP 官方提供的 BTP 服務 Python 用戶端函式庫。

影響範圍

Cloud SDK for Python 是 BTP 上 Python 應用程式存取 SAP 服務的常見入口。漏洞出現在換取權杖的流程中:當請求目的地的租戶子網域(tenant subdomain)可被外部影響時,SDK 會把內嵌用戶端憑證的認證請求發往攻擊者指定的位置。一旦憑證外洩,攻擊者即可代表該應用程式向 BTP 服務取用權杖;視該應用程式的權限範圍,可能進一步存取企業資料與功能。

攻擊前提:並非「零點擊」

儘管 CVSS 評分為滿分 10.0,本漏洞並非無需認證、可自動大規模傳播的類型。SAP 在公告中明確指出,攻擊者必須先能夠控制租戶子網域——換言之,入侵需要已有立足點,例如能夠影響租戶子網域設定、DNS 紀錄或應用程式的請求目的地設定。這是一個會大幅提升既有入侵破壞力的憑證竊取問題,而非任何人都能從外部一擊得手的漏洞。企業評估風險時應把這項前提納入,避免只看分數而誤判為可蠕蟲化的災難。

對 SAP 以外企業同樣重要

對大量依賴 SAP 系統的企業而言,BTP 上的多租戶應用程式往往直接串接採購、物流、財務與人力資源等核心流程。OAuth2 用戶端憑證是這類整合的身分基礎,一旦外洩,影響不只單一應用程式,而是所有以該憑證取得權杖的後端存取。

此外,這類 SDK 層級的漏洞很容易在企業環境中被忽略:應用程式碼沒有任何改動,憑證卻因函式庫內部行為而外流,傳統的程式碼審查、靜態分析(SAST)與秘密掃描工具都難以及時發現。Python 開發社群與雲端原生團隊亦應留意,官方用戶端函式庫的認證流程本身就是供應鏈的一部分——函式庫版本控管與憑證管理,同樣屬於安全邊界。

修補之後:必須輪替憑證

僅升級函式庫並不足夠。由於無法排除憑證在此之前已遭外洩,企業在套用修補後應立即輪替所有受影響應用程式的 OAuth2 client credentials,並查閱近期權杖簽發紀錄是否有異常來源或異常時段。SAP 建議管理員參考官方安全公告,確認受影響及已修補版本的清單。

香港及亞太區暴露度自查清單

以下是一般性排查建議,供本港及亞太區使用 SAP BTP 的團隊參考:

  1. 盤點使用情況:確認是否有 Python 應用程式依賴 Cloud SDK for Python,特別是部署在 BTP 上的多租戶應用,並涵蓋正式環境、測試環境與容器影像檔(container image)。
  2. 核對版本:比對現行 SDK 版本與 SAP 公告所列受影響及已修補版本。
  3. 審視子網域控制權:確認租戶子網域與請求目的地設定由誰管理,並留意整個流程中是否存在可被外部寫入或影響的環節。
  4. 審核憑證儲存方式:確認 OAuth2 client secrets 是否硬編碼於原始碼、設定檔或 CI/CD 流程中,並改用密鑰管理服務。
  5. 修補後輪替憑證:升級完成後立即更換 client credentials,並查閱近期權杖簽發紀錄是否有異常。
  6. 持續監控:把該 SDK 納入軟件物料清單(SBOM),並留意後續補丁公告。

在物流、零售與金融服務等大量依賴 SAP 整合的行業中,這類憑證外洩即使發生在單一租戶,也可能沿供應鏈與付款流程擴大影響,建議盡快完成排查。

新聞來源 / Original News Source