Unknown · Go-Proxyproto · CVE-2021-23351
**Nome do software vulnerável e versões afetadas**
github.com/pires/go-proxyproto versões anteriores à 0.5.0
**Descrição**
A vulnerabilidade diz respeito a um ataque de Negação de Serviço (DoS) por meio da função `parseVersion1()`. O leitor no pacote é um `bufio.Reader` padrão que envolve um `net.Conn`, o qual lê a partir da conexão até encontrar uma nova linha. Como não há limites implementados no código, um cabeçalho V1 deliberadamente malformado poderia ser usado para esgotar a memória em um processo de servidor que utilize esse código e criar um DoS. Isso pode ser explorado enviando um fluxo que comece com PROXY e continue a enviar dados (que não contenham uma nova linha) até que o alvo pare de confirmar o recebimento. O risco é pequeno, pois apenas fontes confiáveis devem ter permissão para enviar cabeçalhos de protocolo proxy.
**Recomendações**
Para versões anteriores à 0.5.0, atualize para a versão 0.5.0 ou posterior para resolver o problema. Como solução temporária, considere implementar limites no `bufio.Reader` para evitar o uso excessivo de memória. Restrinja o acesso à função `parseVersion1()` para minimizar o risco de exploração. Evite usar o pacote com fontes não confiáveis para enviar cabeçalhos de protocolo de proxy.