PT-2026-49553 · Starlette+1 · Starlette+1
CVSS v3.1
5.3
Média
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
Starlette versões 1.0.1 e anteriores
Descrição
No componente
HTTPEndpoint, o manipulador é selecionado convertendo o método HTTP para letras minúsculas e procurando-o como um atributo usando getattr, sem restringir a busca a um conjunto conhecido de verbos HTTP. Quando uma subclasse HTTPEndpoint é registrada através de Route(...) sem um argumento methods= explícito, a rota não restringe o método, permitindo que qualquer método atinja o endpoint. Se um método HTTP não padrão for utilizado e seu nome em letras minúsculas corresponder a um atributo na subclasse do endpoint, esse atributo será invocado como um manipulador de requisição. Isso permite que um invasor acesse métodos que não foram destinados a ser manipuladores HTTP, como auxiliares internos, ignorando as verificações de autorização aplicadas aos manipuladores públicos. Este problema também afeta frameworks construídos sobre o Starlette, como o FastAPI.Recomendações
Atualizar para a versão 1.1.0.
Registrar subclasses
HTTPEndpoint com um argumento methods= explícito na Route, listando apenas os verbos HTTP suportados para garantir que outros métodos sejam rejeitados com uma resposta 405 Method Not Allowed.Exploit
Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Fastapi
Starlette