Falha no SAP Cloud SDK for Python pode vazar segredos do OAuth2
Uma falha com CVSS 10.0 no SAP Cloud SDK for Python permite que atacantes redirecionem solicitações de tokens OAuth2 e roubem segredos de aplicativos. A versão 0.45.2 e posteriores corrigem o problema.
3 min de leitura

Em números
- 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
A SAP corrigiu uma falha de gravidade máxima no seu Cloud SDK for Python que pode entregar a um atacante os segredos de login de um aplicativo. O bug, CVE-2026-89111, tem nota 10.0 de 10 e foi corrigido nas atualizações de segurança de outubro de 2026 da SAP, em 13 de outubro. Ele afeta aplicativos que atendem muitos clientes a partir de uma única implantação, e o atacante não precisa fazer login.
O SAP Cloud SDK for Python é uma biblioteca que desenvolvedores usam para criar aplicativos na Business Technology Platform da SAP, ou BTP. A BTP é o serviço em nuvem da SAP para rodar aplicativos próprios ao lado dos sistemas SAP. A falha está na forma como a biblioteca pede tokens OAuth2, os passes de curta duração que um aplicativo usa para chamar outros serviços.
Como o ataque funciona
O bug é uma falsificação de solicitação do lado do servidor, ou SSRF. Isso significa que um atacante engana um servidor para que ele envie uma solicitação a um destino escolhido pelo atacante. O aviso da SAP no GitHub, citado pelo SecurityWeek, resume de forma direta: “Um atacante que controla o parâmetro tenant_subdomain pode redirecionar solicitações de tokens OAuth2.”
Veja a cadeia em termos simples:
- Um aplicativo multilocatário monta o endereço do seu servidor de tokens a partir do subdomínio de um locatário, a parte de um endereço web específica de cada cliente.
- A biblioteca não verificava esse valor com cuidado suficiente.
- Um atacante fornece um subdomínio que aponta para outro lugar.
- O aplicativo envia sua solicitação de token para lá, com o ID do cliente e o segredo do cliente anexados.
Esses dois valores são as credenciais do próprio aplicativo. Com eles, um atacante pode pedir tokens como se fosse o aplicativo. A SOCRadar observa que a falha, sozinha, não dá acesso de administrador nem permite que um atacante execute código.
Quais versões são afetadas
A SOCRadar lista as versões e as correções:
| Versões | Status |
|---|---|
| Abaixo de 0.45.2 | Vulneráveis |
| 0.45.2 | Correção oficial: verifica o subdomínio com base nas regras de nomes DNS |
| 0.53.0 a 0.55.0 | Falha de validação relatada de forma independente, fora do aviso da SAP |
| 0.55.1 | Validação restaurada |
A falha de 0.53.0 a 0.55.0 vem apenas da SOCRadar. O aviso da SAP não a cobre, então considere 0.55.1 ou posterior como o mínimo seguro. A página do projeto no GitHub lista 0.60.1 como a versão mais recente, datada de 17 de outubro. Essa versão corrige um bug diferente, de injeção de caminho de URL, em um cliente de documentos. Uma versão de 9 de outubro também corrigiu a forma como as URLs de tokens dos locatários são montadas.
A SOCRadar disse em 14 de outubro que nenhum ataque havia sido relatado. O SecurityWeek também afirma que a SAP não registra exploração ativa.
O restante do patch day de outubro da SAP
A falha do SDK foi um dos quatro problemas críticos, segundo o BleepingComputer e o SecurityWeek:
| CVE | Produto | Nota | Problema |
|---|---|---|---|
| CVE-2026-89111 | Cloud SDK for Python | 10.0 | SSRF em OAuth2, sem necessidade de login |
| CVE-2026-89110 | NetWeaver Visual Composer | 9.9 | Controle de acesso falho |
| CVE-2026-89107 | S/4HANA | 9.9 | Injeção de código por usuários com uma função do Fiori |
| CVE-2026-89108 | Manufacturing Integration and Intelligence | 9.1 | Verificação de autorização ausente |
Os veículos contam o pacote de formas diferentes. O BleepingComputer fala em 20 falhas, o SecurityWeek em 22 notas novas e atualizadas, e a SOCRadar conta 16 notas novas mais quatro avisos do GitHub.
O que isso significa para desenvolvedores
Se você publica um aplicativo BTP multilocatário em Python, verifique hoje seu arquivo de dependências. Procure o SDK e anote a versão. A correção é uma atualização de biblioteca, não um patch de servidor, então só chega aos usuários quando você reimplanta.
- Atualize para a versão mais recente, que já passou tanto da 0.45.2 quanto da 0.55.1.
- Use uma lista de permissões para nomes de locatários se ainda não puder atualizar. O aviso da SAP recomenda “validar tenant_subdomain com base em uma lista de permissões conhecida”, informa o BleepingComputer.
- Troque o segredo do cliente se tiver qualquer dúvida. A SOCRadar recomenda revisar o tráfego de tokens OAuth2 e os logs de auditoria da BTP. Se você vir solicitações de tokens para hosts desconhecidos, considere que o segredo vazou.
- Revise seu próprio tratamento de entradas. Qualquer código que monte uma URL a partir de um valor fornecido pelo cliente tem o mesmo tipo de risco, seja qual for a biblioteca usada.
Aplicativos de locatário único que nunca recebem um subdomínio a partir da entrada do usuário estão muito menos expostos. Mas uma nota CVSS 10.0 em uma biblioteca passa despercebida com facilidade, porque nenhum patch de servidor da SAP vai corrigir isso por você.
Fontes
- SAP warns of maximum severity OAuth2 SSRF security flaw - BleepingComputer
- SAP Patches Critical NetWeaver, S/4HANA Vulnerabilities - SecurityWeek
- CVE-2026-89111: Critical SAP Cloud SDK SSRF - SOCRadar
- SAP Cloud SDK for Python releases - GitHub
Artigos relacionados

Vazamento no OpenCode Console expõe chaves guardadas de provedores de IA
O OpenCode diz que um vazamento atingiu 1,4% dos usuários do OpenCode Console em 17 de outubro de 2026. As chaves de API da OpenAI, da Anthropic e do Google que eles guardavam podem ter vazado.

Conformidade de licenças do GitHub agora está disponível para todos
A conformidade de licenças de código aberto do GitHub ficou disponível para todos em 16 de outubro de 2026, permitindo que rulesets bloqueiem pull requests que adicionam licenças não aprovadas.

Tokens de instalação de GitHub App agora são JWTs de 520 caracteres
O GitHub concluiu em 2 de outubro a migração dos tokens de instalação de App para um formato stateless. Eles agora têm cerca de 520 caracteres, contra 40, e verificações antigas podem quebrar.