Unknown · Gorilla/Schema · CVE-2024-37298
**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.