Aller au contenu

Une faille du SAP Cloud SDK for Python peut divulguer des secrets OAuth2

Une faille notée CVSS 10.0 dans le SAP Cloud SDK for Python permet de rediriger les requêtes de jetons OAuth2 et de voler les secrets d'une application. Les versions 0.45.2 et suivantes la corrigent.

Par Tech AI Wire Team

3 min de lecture

XLinkedIn
Avis de sécurité GitHub GHSA-4mv3-jxxm-9cx2 pour le SAP Cloud SDK for Python, classé Critical avec une note de 10.0 sur 10, qui indique que les versions antérieures à 0.45.2 sont touchées.

En chiffres

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 a corrigé une faille de gravité maximale dans son Cloud SDK for Python, qui peut livrer les secrets de connexion d'une application à un attaquant. Le bug, CVE-2026-89111, obtient une note de 10.0 sur 10 et a été corrigé dans les mises à jour de sécurité d'octobre 2026 de SAP, publiées le 13 octobre. Il touche les applications qui servent de nombreux clients à partir d'un seul déploiement, et l'attaquant n'a pas besoin de se connecter.

Le SAP Cloud SDK for Python est une bibliothèque que les développeurs utilisent pour créer des applications sur la Business Technology Platform de SAP, ou BTP. BTP est le service cloud de SAP qui fait tourner des applications sur mesure aux côtés des systèmes SAP. La faille se trouve dans la façon dont la bibliothèque demande des jetons OAuth2, les laissez-passer de courte durée qu'une application utilise pour appeler d'autres services.

Comment fonctionne l'attaque

Le bug est une falsification de requête côté serveur, ou SSRF. Concrètement, un attaquant pousse un serveur à envoyer une requête vers une destination de son choix. L'avis GitHub de SAP, cité par SecurityWeek, le dit sans détour : « Un attaquant qui contrôle le paramètre tenant_subdomain peut rediriger les requêtes de jetons OAuth2. »

Voici l'enchaînement, en termes simples :

  1. Une application multi-tenant construit l'adresse de son serveur de jetons à partir du sous-domaine d'un tenant, la partie d'une adresse web propre à chaque client.
  2. La bibliothèque ne vérifiait pas cette valeur d'assez près.
  3. Un attaquant fournit un sous-domaine qui pointe ailleurs.
  4. L'application y envoie sa requête de jeton, avec son identifiant client et son secret client joints.

Ces deux valeurs sont les propres identifiants de l'application. Avec elles, un attaquant peut demander des jetons comme s'il était l'application. SOCRadar note que la faille, à elle seule, ne donne pas d'accès administrateur et ne permet pas à un attaquant d'exécuter du code.

Quelles versions sont touchées

SOCRadar liste les versions et les correctifs :

VersionsStatut
Antérieures à 0.45.2Vulnérables
0.45.2Correctif officiel : vérifie le sous-domaine selon les règles de nommage DNS
0.53.0 à 0.55.0Faille de validation signalée de façon indépendante, hors de l'avis de SAP
0.55.1Validation rétablie

La faille des versions 0.53.0 à 0.55.0 provient de SOCRadar seul. L'avis de SAP ne la couvre pas, considérez donc 0.55.1 ou une version plus récente comme le minimum sûr. La page GitHub du projet indique 0.60.1 comme dernière version, datée du 17 octobre. Cette version corrige un autre bug, une injection de chemin d'URL dans un client de documents. Une version du 9 octobre a aussi corrigé la façon dont les URL de jetons des tenants sont construites.

SOCRadar a indiqué le 14 octobre qu'aucune attaque n'avait été signalée. SecurityWeek précise aussi que SAP ne signale aucune exploitation dans la nature.

Le reste du Patch Day d'octobre de SAP

La faille du SDK faisait partie des quatre problèmes critiques, rapportent BleepingComputer et SecurityWeek :

CVEProduitNoteProblème
CVE-2026-89111Cloud SDK for Python10.0SSRF OAuth2, sans connexion requise
CVE-2026-89110NetWeaver Visual Composer9.9Contrôle d'accès défaillant
CVE-2026-89107S/4HANA9.9Injection de code par des utilisateurs disposant d'un rôle Fiori
CVE-2026-89108Manufacturing Integration and Intelligence9.1Vérification d'autorisation manquante

Les médias ne comptent pas le lot de la même façon. BleepingComputer parle de 20 failles, SecurityWeek de 22 notes nouvelles et mises à jour, et SOCRadar compte 16 nouvelles notes plus quatre avis GitHub.

Ce que cela signifie pour les développeurs

Si vous livrez une application BTP multi-tenant en Python, vérifiez votre fichier de dépendances dès aujourd'hui. Cherchez le SDK et notez sa version. Le correctif passe par une mise à niveau de la bibliothèque, pas par un correctif serveur, il n'atteint donc les utilisateurs que lorsque vous redéployez.

  • Passez à la dernière version, qui dépasse à la fois 0.45.2 et 0.55.1.
  • Mettez les noms de tenants sur liste d'autorisation si vous ne pouvez pas encore mettre à niveau. L'avis de SAP recommande de « valider tenant_subdomain par rapport à une liste d'autorisation connue », rapporte BleepingComputer.
  • Renouvelez le secret client au moindre doute. SOCRadar conseille d'examiner le trafic des jetons OAuth2 et les journaux d'audit de BTP. Si vous voyez des requêtes de jetons vers des hôtes inconnus, considérez que le secret a fuité.
  • Examinez votre propre traitement des entrées. Tout code qui construit une URL à partir d'une valeur fournie par un client présente le même type de risque, quelle que soit la bibliothèque utilisée.

Les applications mono-tenant qui ne prennent jamais un sous-domaine dans les saisies des utilisateurs sont beaucoup moins exposées. Mais une note CVSS de 10.0 dans une bibliothèque passe facilement inaperçue, car aucun correctif serveur de SAP ne la corrigera à votre place.

Sources

  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

Articles liés