PT-2024-40917 · Sqlx · Sqlx

Publicado

2024-08-15

·

Atualizado

2024-08-15

Nenhuma

Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
Nome do software vulnerável e versões afetadas
Versões do sqlx anteriores à 0.8.1
Descrição
O problema diz respeito a uma possível vulnerabilidade de injeção de SQL devido a um estouro no nível do protocolo ao codificar valores maiores que 4 GiB. Isso pode fazer com que o servidor interprete o restante da string como comandos do protocolo binário ou outros dados. A vulnerabilidade parece afetar todas as versões publicadas do sqlx anteriores à 0.8.1, já que o código problemático existe desde o início. Os usuários devem validar entradas de usuários não confiáveis e rejeitar qualquer entrada acima de 4 GiB ou qualquer entrada que possa ser codificada em uma string maior que 4 GiB. Consultas construídas dinamicamente também são potencialmente problemáticas se ultrapassarem o limite de 4 GiB no tamanho da mensagem.
Recomendações
Para versões anteriores à 0.8.1, atualize para o sqlx 0.8.1 o mais rápido possível, especialmente para usuários do Postgres, pois uma possível exploração já foi demonstrada.
Considere adicionar um middleware que limite o tamanho dos corpos das solicitações por padrão para back-ends de aplicativos web.
Como solução temporária, considere validar e limitar as entradas do usuário para impedir a exploração até que a atualização seja aplicada.
Restrinja o uso de consultas criadas dinamicamente que possam exceder o limite de 4 GiB.
Use Encode::size hint() para verificações de validade, mas não presuma que o tamanho retornado seja preciso.
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Identificadores relacionados

RUSTSEC-2024-0363

Produtos afetados

Sqlx