企業軟體大廠 SAP 於 10 月 13 日公布,旗下 Cloud SDK for Python(開發套件)存在嚴重漏洞
CVE-2026-89111,CVSS 風險評分達滿分 10.0。使用此套件且部署於 Business Technology Platform(BTP,雲端平台)的多租戶(multi-tenant)應用程式受到影響,攻擊者可能藉此竊取應用程式的 OAuth2 用戶端憑證(client credentials)。SAP 指出,修補版本為 0.45.2。
漏洞成因與影響範圍
這項漏洞屬於
伺服器端請求偽造(Server-Side Request Forgery,SSRF),弱點類型為 CWE-918。多租戶應用程式呼叫該套件時,會傳入租戶子網域(tenant subdomain),指定請求所屬的租戶。套件取得存取權杖(access token)時,會從應用程式設定中讀取權杖網址,並將網址的一部分替換為該子網域。
SAP 表示,若攻擊者能控制此參數,就能將 OAuth2 權杖請求導向自己架設的伺服器,導致用戶端憑證外洩。據外媒報導,
缺少驗證的版本會直接採用傳入的任意值,並將用戶端識別碼(client ID)與用戶端密鑰(client secret)傳送至組合後的網址。
依 CVSS 3.1 評分向量,此漏洞可透過網路利用,攻擊複雜度低,無須權限或使用者互動。外媒也指出,遠端攻擊者無須權限即可竊取憑證。不過,攻擊成立的前提是攻擊者能控制應用程式傳入的子網域。憑證外洩後的損害程度取決於該用戶端獲授的權限,公告未進一步說明。
修補內容與版本疑義
SAP 公告指出,0.45.2 版會依 RFC 1123 的 DNS 標籤規則驗證租戶子網域,通過驗證後才將其代入權杖網址。該版本已於 8 月 21 日釋出。外媒說明,這項檢查只接受由字母、數字與連字號組成、長度不超過 63 個字元的單一名稱;若傳入其他值,請求便會因錯誤而中止。
不過,該媒體於 10 月 13 日使用 SAP 在 0.55.1 版新增的測試,檢驗 0.45.1 至 0.58.4 各版本的原始碼,發現 0.53.0 至 0.55.0 共六個版本在呼叫 Destination 服務模組時會略過這項檢查。這項檢查直到 9 月 18 日釋出的 0.55.1 版才補上。此外,0.36 系列的 0.36.1 與 0.36.2 雖然在 8 月修補後才發布,仍缺少檢查,且屬於公告所列低於 0.45.2 的版本範圍。SAP 公告目前未列出 0.45.2 以上的受影響版本,也未說明上述六個版本是否屬於此 CVE 的影響範圍。
8 月已修補,10 月才公告
外媒指出,該套件自 3 月 16 日首次上架 Python 套件索引 PyPI 以來,就存在缺少檢查的程式碼。8 月的版本說明僅將這項修補列為錯誤修正(Bug Fixes),未提及資安問題,直到修補釋出 53 天後才發布資安公告。公告將 GitHub 使用者 SunandM 列為通報者,未提及任何攻擊事件。
此外,SAP 10 月的安全更新共修補 20 個漏洞,包括 NetWeaver Visual Composer 的嚴重存取控制缺陷 CVE-2026-89110,以及 Manufacturing Integration and Intelligence 的漏洞 CVE-2026-89108。
因應建議
- 盤點應用程式使用的 sap-cloud-sdk 版本。據外媒測試,0.45.2 至 0.52.2 與 0.55.1 至 0.58.4 均包含這項檢查,其中 0.58.4 為 10 月 13 日 PyPI 上的最新版。
- 0.36 系列的三個版本均缺少這項檢查,僅在該系列內升級無法解決問題,須改用上述包含檢查的版本。
- 暫時無法升級者,可依 SAP 建議,先將租戶子網域與已註冊的租戶清單比對,再傳入套件。
- 公告未說明曾使用缺少檢查版本的應用程式是否需要更換用戶端憑證。
本文轉載自 TheHackerNews、BleepingComputer。