PT-2024-40171 · Propel · Propel
Publicado
2024-05-20
·
Atualizado
2024-05-20
CVSS v3.1
9.8
Crítica
| Vetor | AV: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
Produtos afetados
Propel