PT-2024-40171 · Propel · Propel

Publicado

2024-05-20

·

Atualizado

2024-05-20

CVSS v3.1

9.8

Crítica

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas:
Versões do Propel 1.x a 3.x
Descrição:
O método de consulta limit() no Propel é suscetível a injeção de SQL catastrófica quando usado com o MySQL. Isso ocorre devido à falta de conversão para inteiro da entrada limit em PropelRuntimeActiveQueryCriteria::setLimit() ou PropelRuntimeAdapterPdoMysqlAdapter::applyLimit(). A vulnerabilidade permite a execução de comandos SQL maliciosos, podendo levar a consequências graves, como a exclusão de tabelas. Por exemplo, uma consulta como UserQuery::create()->limit(‘1;DROP TABLE users’)->find(); poderia resultar na exclusão da tabela users. Esse comportamento é inesperado, uma vez que um dos principais objetivos de um sistema de Mapeamento Objeto-Relacional (ORM) como o Propel é prevenir ataques básicos de injeção de SQL.
Recomendações:
Para todas as versões afetadas do Propel (1.x a 3.x), considere desativar o método de consulta limit() até que um patch esteja disponível para prevenir ataques de injeção de SQL. Restrinja o acesso a operações sensíveis no banco de dados para minimizar o risco de exploração. Evite usar dados inseridos pelo usuário diretamente no método limit() para impedir que comandos SQL maliciosos sejam injetados. No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.

SQL injection

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

GHSA-7VW7-QX38-37VR

Produtos afetados

Propel