PT-2022-23166 · Unknown · Github.Com/Gagliardetto/Binary
Gagliardetto
·
Publicado
2022-09-02
·
Atualizado
2025-06-05
·
CVE-2022-36078
CVSS v3.1
8.8
Alta
| Vetor | AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
Nome do software vulnerável e versões afetadas
Versões do github.com/gagliardetto/binary anteriores à v0.7.1
Descrição
O problema é uma vulnerabilidade de alocação de memória que pode ser explorada para alocar fatias na memória com valores de tamanho excessivos, potencialmente esgotando a memória disponível ou causando a falha do programa. Isso ocorre ao usar github.com/gagliardetto/binary para analisar dados não verificados de fontes não confiáveis em fatias. O método
dec.Decode(&val) lê o comprimento da fatia diretamente dos dados sem verificações, levando a possíveis estouros de memória e alocação excessiva de memória.Recomendações
Para resolver o problema, atualize para a versão v0.7.1 ou superior.
Como solução alternativa temporária, considere usar um método
UnmarshalWithDecoder() personalizado que leia e verifique o comprimento de qualquer fatia, em vez de depender da função dec.Decode(&val) para analisar os dados.Exploit
Correção
Resource Exhaustion
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Github.Com/Gagliardetto/Binary