PT-2024-18983 · Vapor · Vapor
Baarde
·
Publicado
2024-01-03
·
Atualizado
2024-01-10
·
CVE-2024-21631
CVSS v3.1
6.5
Média
| Vetor | AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N |
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.Exploit
Correção
RCE
Integer Overflow
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Vapor