SAP Discloses Critical CVSS 10 Flaw in Cloud SDK for Python Allowing OAuth2 Credential Theft
The Hacker News · 13 oct, 19:28

SAP ha divulgado una vulnerabilidad crítica (CVSS 10.0) en el SDK de Cloud para Python que permite robar credenciales OAuth2 de aplicaciones multi-tenant en SAP BTP. Un atacante que controle el subdominio del tenant puede redirigir las solicitudes de autenticación hacia un servidor bajo su control, exfiltrando el ID y secreto del cliente. La vulnerabilidad fue corregida en la versión 0.45.2 (agosto), pero seis versiones posteriores (0.53.0 a 0.55.0) reintrodujeron el fallo antes de ser parcheado nuevamente en 0.55.1.
El SDK de SAP maneja la autenticación reemplazando parte de la URL de token con el subdominio del tenant proporcionado por la aplicación. Sin validación, un atacante que controle ese parámetro puede redirigir la solicitud hacia su propio servidor, capturando las credenciales del cliente (ID y secreto).
La vulnerabilidad CVE-2026-89111 estuvo presente desde la primera versión del SDK (marzo). La correción de agosto (0.45.2) añadió validación del subdominio, aceptando solo nombres simples (letras, dígitos, guiones, hasta 63 caracteres). Sin embargo, la refactorización del módulo Destination en septiembre (versiones 0.53.0–0.55.0) eliminó accidentalmente esa validación en algunos caminos de código. Las pruebas de The Hacker News confirman que estas seis versiones fallaron 9 de 11 tests de seguridad de SAP, mientras que 0.55.1 en adelante los superan todos.
La recomendación inmediata es actualizar a 0.55.1 o posterior, o aplicar una validación manual del subdominio del tenant. SAP no ha confirmado si las versiones 0.53.0–0.55.0 caen bajo el CVE ni si los usuarios deben revocar credenciales comprometidas.
Puntos clave
- CVE-2026-89111: CVSS 10.0, robo de credenciales OAuth2 en SAP Cloud SDK para Python
- Versiones seguras: 0.45.2–0.52.2 y 0.55.1–0.58.4 (actual en PyPI)
- Versiones vulnerables reintroducidas: 0.53.0–0.55.0 (publicadas entre 10 y 18 de septiembre)
- Mitigación temporal: validar el subdominio del tenant contra la lista de tenants registrados antes de pasarlo al SDK
- Linea 0.36 nunca incluyó la validación; la actualización dentro de esa rama no protege