PT-2024-18983 · Vapor · Vapor

Baarde

·

Publicado

2024-01-03

·

Atualizado

2024-01-10

·

CVE-2024-21631

CVSS v3.1

6.5

Média

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-21631
GHSA-R6R4-5PR8-GJCP

Produtos afetados

Vapor