CVE-2025-63943 — Injeção de SQL no Grocery Store Management System 1.0
Visão Geral
Uma vulnerabilidade de Injeção de SQL de alta gravidade foi identificada no componente search_products.php do Grocery Store Management System 1.0, uma aplicação web baseada em PHP/MySQL criada por anirudhkannan.
O problema decorre da validação inadequada de entrada e da construção insegura de consultas SQL usando o parâmetro scost controlado pelo usuário. Essa falha permite que invasores manipulem a lógica SQL subjacente, potencialmente levando à exposição de dados sensíveis, alteração de dados ou comprometimento total do banco de dados.
A vulnerabilidade existe devido à concatenação direta de entrada de usuário não validada em consultas SQL.
O parâmetro POST scost, destinado a representar um valor numérico de custo do produto, é incorporado na cláusula WHERE do SQL sem:
Sanitização de entrada
Reforço de tipo
Consultas parametrizadas
Uso de instruções preparadas
Isso permite que um invasor injete expressões booleanas SQL arbitrárias, alterando o comportamento da consulta e extraindo conteúdos do banco de dados usando técnicas de Injeção de SQL baseada em booleano.
A vulnerabilidade é explorável através de uma requisição POST padrão para search_products.php. Quando expressões maliciosas são fornecidas, o backend retorna diferenças de resposta mensuráveis (variações VERDADEIRO/FALSO), confirmando que a entrada do usuário influencia a lógica SQL.
Causa Raiz
Falta de validação no lado do servidor no campo de entrada scost
Uso direto de concatenação de strings para construir consultas SQL
Ausência de instruções preparadas no caminho de código afetado
Sem filtragem ou lista de permissões para campos de entrada numéricos
Essas condições coletivamente permitem que invasores modifiquem a lógica SQL pretendida.
Gravidade e Impacto
Esta vulnerabilidade é classificada como Alta devido à sua baixa complexidade de ataque, ausência de requisitos de autenticação e impacto total de leitura/escrita no banco de dados.
Impactos Potenciais Incluem:
Exposição de dados sensíveis: Invasores podem extrair dados de produtos, usuários ou sistema.
Modificação ou exclusão de dados: SQL injetado pode alterar ou remover entradas do banco de dados.
Desvio de autenticação (possível): Se usado em outras partes da lógica de consulta da aplicação.
Comprometimento total do banco de dados: Dependendo dos privilégios e configuração do BD.
Instabilidade do sistema: Consultas maliciosas podem interromper o comportamento normal da aplicação.
Pontuação CVSS v3.1 (Avaliação Preliminar)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Vetor de Ataque (AV): Rede
Complexidade do Ataque (AC): Baixa
Privilégios Necessários (PR): Nenhum
Interação do Usuário (UI): Nenhuma
Escopo (S): Inalterado
Confidencialidade (C): Alta
Integridade (I): Alta
Disponibilidade (A): Alta
Gravidade Estimada: Alta (9.8)
Resumo de Exploração
A vulnerabilidade pode ser explorada através de valores manipulados passados para o parâmetro scost.
Invasores podem:
Influenciar lógica booleana
Desencadear respostas condicionais
Enumerar estruturas do banco de dados
Extrair informações sensíveis
(Payloads detalhados são intencionalmente omitidos para evitar uso indevido.)