PT-2024-3776 · Npgsql · Npgsql
Paul-Gerste-Sonarsource
·
Publicado
2024-05-09
·
Atualizado
2024-12-12
·
CVE-2024-32655
CVSS v3.1
8.1
Alta
| Vetor | AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
Nome do software vulnerável e versões afetadas
Versões do Npgsql anteriores à 4.0.14
Versões do Npgsql anteriores à 4.1.13
Versões do Npgsql anteriores à 5.0.18
Versões do Npgsql anteriores à 6.0.11
Versões do Npgsql anteriores à 7.0.7
Versões do Npgsql anteriores à 8.0.3
Descrição
O método
WriteBind() em src/Npgsql/Internal/NpgsqlConnector.FrontendMessages.cs usa variáveis int para armazenar o comprimento da mensagem e a soma dos comprimentos dos parâmetros. Ambas as variáveis sofrem estouro quando a soma dos comprimentos dos parâmetros se torna muito grande. Isso faz com que o Npgsql escreva um tamanho de mensagem muito pequeno ao construir uma mensagem de protocolo Postgres para enviá-la pela rede ao banco de dados. Ao analisar a mensagem, o banco de dados lerá apenas um pequeno número de bytes e tratará quaisquer bytes seguintes como novas mensagens, embora eles pertençam à mensagem antiga. Os invasores podem se aproveitar disso para injetar mensagens de protocolo Postgres arbitrárias na conexão, levando à execução de instruções SQL arbitrárias em nome do aplicativo.Recomendações
Para versões anteriores à 4.0.14, atualize para a versão 4.0.14 ou posterior.
Para versões anteriores à 4.1.13, atualize para a versão 4.1.13 ou posterior.
Para versões anteriores à 5.0.18, atualize para a versão 5.0.18 ou posterior.
Para versões anteriores à 6.0.11, atualize para a versão 6.0.11 ou posterior.
Para versões anteriores à 7.0.7, atualize para a versão 7.0.7 ou posterior.
Para versões anteriores à 8.0.3, atualize para a versão 8.0.3 ou posterior.
Como solução alternativa temporária, considere restringir o acesso ao método
WriteBind() até que uma paExploit
Correção
Integer Overflow
SQL injection
RCE
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Npgsql