Saltar al contenido

Un fallo en SAP Cloud SDK for Python puede filtrar secretos de OAuth2

Un fallo con CVSS 10.0 en SAP Cloud SDK for Python permite a los atacantes redirigir solicitudes de tokens OAuth2 y robar secretos de aplicaciones. La versión 0.45.2 y posteriores lo corrigen.

Por Tech AI Wire Team

3 min de lectura

XLinkedIn
Aviso de seguridad de GitHub GHSA-4mv3-jxxm-9cx2 para SAP Cloud SDK for Python, calificado como Critical con 10.0 sobre 10, que indica como afectadas las versiones anteriores a la 0.45.2.

En cifras

CVSS score of CVE-2026-89111
10.0
first patched version, per SOCRadar
0.45.2
critical notes in SAP's October 2026 patch day, per SecurityWeek
4

SAP ha corregido un fallo de gravedad máxima en su Cloud SDK for Python que puede entregar a un atacante los secretos de inicio de sesión de una aplicación. El error, CVE-2026-89111, obtiene una puntuación de 10.0 sobre 10 y se corrigió en las actualizaciones de seguridad de octubre de 2026 de SAP, publicadas el 13 de octubre. Afecta a las aplicaciones que atienden a muchos clientes desde un único despliegue, y el atacante no necesita iniciar sesión.

SAP Cloud SDK for Python es una biblioteca que los desarrolladores usan para crear aplicaciones en la Business Technology Platform de SAP, o BTP. BTP es el servicio en la nube de SAP para ejecutar aplicaciones propias junto a los sistemas SAP. El fallo está en la forma en que la biblioteca pide tokens OAuth2, los pases de corta duración que una aplicación usa para llamar a otros servicios.

Cómo funciona el ataque

El error es una falsificación de solicitudes del lado del servidor, o SSRF. Esto significa que un atacante engaña a un servidor para que envíe una solicitud al destino que el atacante elija. El aviso de SAP en GitHub, citado por SecurityWeek, lo explica sin rodeos: «Un atacante que controla el parámetro tenant_subdomain puede redirigir las solicitudes de tokens OAuth2».

Así funciona la cadena, en términos sencillos:

  1. Una aplicación multiinquilino construye la dirección de su servidor de tokens a partir del subdominio de un inquilino, la parte de una dirección web propia de cada cliente.
  2. La biblioteca no comprobaba ese valor con suficiente cuidado.
  3. Un atacante proporciona un subdominio que apunta a otro lugar.
  4. La aplicación envía allí su solicitud de token, con su ID de cliente y su secreto de cliente adjuntos.

Esos dos valores son las credenciales propias de la aplicación. Con ellos, un atacante puede pedir tokens como si fuera la aplicación. SOCRadar señala que el fallo, por sí solo, no da acceso de administrador ni permite a un atacante ejecutar código.

Qué versiones están afectadas

SOCRadar enumera las versiones y las correcciones:

VersionesEstado
Anteriores a 0.45.2Vulnerables
0.45.2Corrección oficial: comprueba el subdominio según las reglas de nombres DNS
0.53.0 a 0.55.0Fallo de validación informado de forma independiente, fuera del aviso de SAP
0.55.1Validación restaurada

El fallo de 0.53.0 a 0.55.0 procede solo de SOCRadar. El aviso de SAP no lo cubre, así que considere 0.55.1 o posterior como el mínimo seguro. La página de GitHub del proyecto muestra 0.60.1 como su versión más reciente, con fecha del 17 de octubre. Esa versión corrige otro error, una inyección en rutas de URL, en un cliente de documentos. Una versión del 9 de octubre también corrigió cómo se construyen las URL de tokens de los inquilinos.

SOCRadar dijo el 14 de octubre que no se habían notificado ataques. SecurityWeek también afirma que SAP no ha registrado explotación en entornos reales.

El resto del día de parches de octubre de SAP

El fallo del SDK fue uno de los cuatro problemas críticos, según BleepingComputer y SecurityWeek:

CVEProductoPuntuaciónProblema
CVE-2026-89111Cloud SDK for Python10.0SSRF en OAuth2, sin necesidad de iniciar sesión
CVE-2026-89110NetWeaver Visual Composer9.9Control de acceso defectuoso
CVE-2026-89107S/4HANA9.9Inyección de código por usuarios con un rol de Fiori
CVE-2026-89108Manufacturing Integration and Intelligence9.1Falta de comprobación de autorización

Los medios cuentan el lote de forma distinta. BleepingComputer habla de 20 fallos, SecurityWeek de 22 notas nuevas y actualizadas, y SOCRadar cuenta 16 notas nuevas más cuatro avisos de GitHub.

Qué significa esto para los desarrolladores

Si publica una aplicación BTP multiinquilino en Python, revise hoy mismo su archivo de dependencias. Busque el SDK y anote su versión. La corrección es una actualización de la biblioteca, no un parche del servidor, así que solo llega a los usuarios cuando vuelve a desplegar.

  • Actualice a la versión más reciente, que supera tanto la 0.45.2 como la 0.55.1.
  • Use una lista de permitidos para los nombres de inquilinos si aún no puede actualizar. El aviso de SAP recomienda «validar tenant_subdomain contra una lista de permitidos conocida», informa BleepingComputer.
  • Rote el secreto de cliente ante cualquier duda. SOCRadar aconseja revisar el tráfico de tokens OAuth2 y los registros de auditoría de BTP. Si ve solicitudes de tokens a hosts desconocidos, dé por hecho que el secreto se ha perdido.
  • Revise su propio manejo de entradas. Cualquier código que construya una URL a partir de un valor proporcionado por un cliente tiene el mismo tipo de riesgo, use la biblioteca que use.

Las aplicaciones de un solo inquilino que nunca toman un subdominio de la entrada del usuario están mucho menos expuestas. Pero una puntuación CVSS de 10.0 en una biblioteca es fácil de pasar por alto, porque ningún parche de servidor de SAP lo corregirá por usted.

Fuentes

  1. SAP warns of maximum severity OAuth2 SSRF security flaw - BleepingComputer
  2. SAP Patches Critical NetWeaver, S/4HANA Vulnerabilities - SecurityWeek
  3. CVE-2026-89111: Critical SAP Cloud SDK SSRF - SOCRadar
  4. SAP Cloud SDK for Python releases - GitHub

Artículos relacionados