PT-2024-24940 · Vitess · Vitess
Mattrobenolt
·
Publicado
2024-05-08
·
Atualizado
2024-05-10
·
CVE-2024-32886
CVSS v3.1
4.9
Média
| Vetor | AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H |
Nome do software vulnerável e versões afetadas
Versões do Vitess anteriores à 17.0.7
Versões do Vitess anteriores à 18.0.5
Versões do Vitess anteriores à 19.0.4
Descrição
O problema ocorre ao executar uma consulta específica, fazendo com que o
vtgate entre em um loop infinito e consuma quantidades crescentes de memória, levando eventualmente a uma negação de serviço devido ao esgotamento da memória. Isso ocorre porque as funções de decodificação para certas colações, como utf16, utf32 e ucs2, implementam uma lógica que impõe um comprimento mínimo de caracteres, mas os chamadores de DecodeRune esperam progresso através do retorno do número de bytes consumidos. Se restar apenas 1 byte na entrada, ela retorna 0, e o chamador não consome o caractere, levando a um loop infinito. O número estimado de dispositivos potencialmente afetados em todo o mundo não foi especificado.Recomendações
Para versões anteriores à 17.0.7, atualize para a versão 17.0.7 ou posterior.
Para versões anteriores à 18.0.5, atualize para a versão 18.0.5 ou posterior.
Para versões anteriores à 19.0.4, atualize para a versão 19.0.4 ou posterior.
Como solução temporária, considere restringir o uso das codificações
utf16, utf32 e ucs2 nas consultas para minimizar o risco de exploração. Evite usar a consulta select utf16 0xFF no endpoint da API afetado até que o problema seja resolvido.Exploit
Correção
Infinite Loop
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Vitess