Vapor · Vapor · CVE-2024-21631
**Nome do software vulnerável e versões afetadas**
Versões do Vapor anteriores à 4.90.0
**Descrição**
O Vapor é uma estrutura web HTTP para Swift. A função `vapor urlparser parse` utiliza índices `uint16 t` ao analisar os componentes de uma URI, o que pode causar estouros de inteiros ao analisar entradas não confiáveis. Este problema não afeta diretamente o Vapor, mas pode impactar aplicativos que dependem do tipo URI para validar entradas do usuário. O tipo URI é usado em vários pontos no Vapor, e um desenvolvedor pode decidir usar URI para representar uma URL em seu aplicativo, especialmente se essa URL for então passada para o Cliente HTTP, e confiar em suas propriedades e métodos públicos. No entanto, o URI pode falhar ao analisar corretamente uma URL válida (embora anormalmente longa), devido à conversão de intervalos de strings em inteiros de 16 bits. Um invasor pode usar esse comportamento para induzir o aplicativo a aceitar uma URL para um destino não confiável. Ao preencher o número da porta com zeros, um invasor pode causar um estouro de inteiro ao analisar a autoridade da URL e, como resultado, falsificar o host.
**Recomendações**
Para versões anteriores à 4.90.0, atualize para a versão 4.90.0 para resolver o problema.
Como solução alternativa temporária, valide a entrada do usuário antes de analisá-la como um URI ou, se possível, use os utilitários `URL` e `URLComponents` do Foundation.