PT-2026-69037 · Hexpm · Elixir-Ecto+1
CVSS v3.1
8.2
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
postgrex versões 0.19.3 até 0.22.3
Description
Um problema de SQL Injection existe na biblioteca postgrex utilizada pelo elixir-ecto. A falha ocorre quando a opção
:comment é utilizada na função Postgrex.stream/4 ou na função Ecto.Repo.stream/2. Um invasor capaz de influenciar o valor da variável :comment pode usar a sequência */ para fechar o delimitador de comentário e anexar cláusulas SQL não autorizadas que são executadas com os privilégios da função da conexão. Isso acontece porque o software concatena o comentário no texto da instrução enviado na mensagem Parse sem escapar ou rejeitar a sequência */, e a função stream/4 não chama a função de validação comment not present!/1 utilizada em outros pontos. A injeção é limitada à instrução transmitida, pois a mensagem Parse aceita apenas um único comando.Recommendations
Atualize o postgrex para a versão 0.22.4 ou posterior.
Como medida paliativa temporária, rejeite qualquer valor de
:comment que contenha */ ou um byte nulo antes de passá-lo para Postgrex.stream/4 ou Ecto.Repo.stream/2.
Garanta que os comentários sejam construídos apenas a partir de valores confiáveis.Exploit
Correção
SQL injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Elixir-Ecto
Postgrex