PT-2024-27455 · Unknown+5 · Gorilla/Schema+5
Alexvasiluta
·
Publicado
2024-06-30
·
Atualizado
2025-01-17
·
CVE-2024-37298
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Nome do software vulnerável e versões afetadas
Versões do gorilla/schema anteriores à 1.4.1
Descrição
O problema diz respeito a uma vulnerabilidade de esgotamento de memória no gorilla/schema. Quando
schema.Decoder.Decode() é executado em uma estrutura que possui um campo do tipo []struct{...}, abre-se a possibilidade de ataques maliciosos relacionados à alocação de memória, aproveitando a funcionalidade de fatias esparsas. Qualquer uso de schema.Decoder.Decode() em uma estrutura com matrizes de outras estruturas pode estar sujeito a essa vulnerabilidade de esgotamento de memória. Por exemplo, um invasor pode especificar um campo com um índice grande em uma matriz, causando a alocação de todos os elementos precedentes na fatia, o que pode levar ao esgotamento de memória. Isso pode ser explorado por meio de pontos de extremidade da API, como /innocent endpoint?arr.10000000.X=1, onde arr é uma matriz de estruturas.Recomendações
Para versões anteriores à 1.4.1, atualize para a versão 1.4.1 ou posterior para resolver o problema.
Como solução temporária, considere restringir o acesso a pontos de extremidade da API que usam
schema.Decoder.Decode() em estruturas com matrizes de outras estruturas para minimizar o risco de exploração.Evite usar
schema.Decoder.Decode() em estruturas com matrizes de outras estruturas até que o problema seja resolvido.Exploit
Correção
Allocation of Resources Without Limits
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Almalinux
Centos
Debian
Red Hat
Rocky Linux
Gorilla/Schema