Mastodon Mastodon Mastodon Mastodon

Критична вразливість у SAP Cloud SDK for Python дає змогу перехопити OAuth2-облікові дані

Photo of author

CyberSecureFox Editorial Team

Опубліковано:

SAP розкрила критичну вразливість CVE-2026-89111 з максимальною оцінкою CVSS 10.0 у своєму Cloud SDK for Python — офіційному Python-клієнті для сервісів SAP Business Technology Platform (BTP). Згідно з бюлетенем безпеки, вразливість дає змогу зловмиснику, який контролює параметр tenant_subdomain, перенаправити OAuth2-запити на підконтрольний сервер і перехопити клієнтські облікові дані (client ID та client secret) мультиорендних застосунків. Уразливими є версії пакета sap-cloud-sdk нижче 0.45.2. Виправлення доступне — оновлення до версії 0.45.2 або вище.

Механізм вразливості

Вразливість класифікована як CWE-918 (підроблення запитів на стороні сервера, SSRF). Коли мультиорендний застосунок на SAP BTP передає SDK значення tenant_subdomain, SDK підставляє його в URL для отримання OAuth2-токена. В уразливих версіях SDK приймав довільні значення без валідації — включно з рядками з роздільниками URL. Зловмисник, здатний контролювати цей параметр, міг сформувати значення, що перенаправляє запит на власний сервер, куди SDK надсилав клієнтські облікові дані застосунку.

Виправлення у версії 0.45.2 додало валідацію tenant_subdomain за правилами RFC 1123 для DNS-міток: дозволяються лише літери, цифри й дефіси довжиною до 63 символів. Некоректні значення тепер викликають помилку ValueError. Перевірку було додано в три модулі: Agent Gateway, Destination і Document Management Service.

Уразливі версії та нюанси патча

Офіційний бюлетень SAP зазначає уразливими всі версії нижче 0.45.2, а виправленою — версію 0.45.2. Однак, за даними The Hacker News, що провів тестування вихідного коду з використанням власних тестів SAP, ситуація складніша. Версії з 0.53.0 по 0.55.0, як повідомляється, не містять перевірки в модулі Destination — під час рефакторингу у версії 0.53.0 код обробки токенів було перенесено до нового спільного компонента XsuaaAuthProvider, до якого валідацію не включили. За тими ж даними, ці версії не пройшли 9 з 11 тестів валідації, доданих SAP у версії 0.55.1.

Також повідомляється, що версії 0.36.1 і 0.36.2, випущені вже після серпневого виправлення, теж не містять перевірки. Важливо: офіційний бюлетень SAP на момент публікації не вказує версії вище 0.45.2 як уразливі, і питання про застосовність CVE-2026-89111 до цих пізніших релізів залишається відкритим.

Таким чином, за наявними даними, перевірку містять:

  • Версії з 0.45.2 по 0.52.2
  • Версії з 0.55.1 по 0.58.4 (останній реліз на момент розкриття)

Жодна з трьох версій лінійки 0.36 не містить валідації, і оновлення в межах цієї лінійки проблему не вирішує.

Оцінка впливу

Вразливість зачіпає не всі інсталяції SDK, а лише мультиорендні застосунки на SAP BTP, які передають значення tenant_subdomain до SDK — зокрема через модулі Destination, Agent Gateway і Document Management Service. Застосунки, що не використовують ці шляхи, не піддаються цій вразливості.

Наслідки експлуатації залежать від привілеїв скомпрометованих клієнтських облікових даних. Бюлетень SAP не уточнює можливі сценарії, але перехоплення OAuth2-облікових даних потенційно відкриває доступ до всіх ресурсів, до яких авторизований клієнт застосунку. Активна експлуатація вразливості наразі не підтверджена, CVE відсутня в каталозі CISA KEV.

SAP уже неодноразово стикалася з критичними вразливостями у своїх хмарних продуктах — раніше ми писали про вразливість CVSS 10.0 в Commerce Cloud.

Рекомендації

  • Оновіть SDK до версії 0.55.1 або вище (рекомендовано 0.58.4). Версії 0.45.2–0.52.2 також містять перевірку, але не покривають шлях через XsuaaAuthProvider, що з’явився у 0.53.0.
  • Якщо оновлення неможливе, SAP рекомендує валідовувати tenant_subdomain за списком зареєстрованих орендарів перед передаванням значення в SDK.
  • Перевірте використовувану версію: якщо застосунок працює на версіях 0.53.0–0.55.0 і використовує модуль Destination, оновлення є критично важливим, попри те, що офіційний бюлетень формально не включає ці версії до уразливих.
  • Оцініть необхідність ротації облікових даних: бюлетень SAP не вказує, чи слід замінити client credentials застосункам, що працювали на уразливих версіях. Для застосунків, які обробляють зовнішні дані про орендарів, ротація облікових даних — розумний запобіжний захід.

Вразливість була присутня в SDK із першого релізу на PyPI у березні, була тихо виправлена в серпні як «Bug Fix» без згадки про безпеку, а бюлетень з’явився лише через 53 дні. Організаціям, що використовують мультиорендні застосунки на SAP BTP з Cloud SDK for Python, слід негайно перевірити версію SDK і оновити її до 0.55.1 або вище, а за неможливості оновлення — впровадити валідацію tenant_subdomain за білим списком зареєстрованих орендарів.


CyberSecureFox Editorial Team

Редакція CyberSecureFox висвітлює новини кібербезпеки, уразливості, malware-кампанії, ransomware-активність, AI security, cloud security та security advisories вендорів. Матеріали готуються на основі official advisories, даних CVE/NVD, сповіщень CISA, публікацій вендорів і відкритих звітів дослідників. Статті перевіряються перед публікацією та оновлюються за появи нових даних.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.