
Vulnerabilidad de inyección SQL descubierta en Grocery Store Management System 1.0
Se identificó una vulnerabilidad de Inyección SQL de alta severidad en el componente search_products.php de Grocery Store Management System 1.0, una aplicación web basada en PHP/MySQL creada por anirudhkannan.
El problema surge de una validación de entrada inadecuada y de la construcción insegura de consultas SQL utilizando el parámetro scost controlado por el usuario. Esta falla permite a los atacantes manipular la lógica SQL subyacente, lo que potencialmente conduce a la exposición de datos sensibles, alteración de datos o compromiso total de la base de datos.
Grocery/search_products.phpLa vulnerabilidad existe debido a la concatenación directa de entrada de usuario no validada en consultas SQL.
El parámetro POST scost, diseñado para representar un valor numérico de costo de producto, se incrusta en la cláusula WHERE de SQL sin:
Esto permite a un atacante inyectar expresiones booleanas SQL arbitrarias, alterando el comportamiento de la consulta y extrayendo contenidos de la base de datos mediante técnicas de inyección SQL basada en booleanos.
La vulnerabilidad es explotable a través de una solicitud POST estándar a search_products.php. Cuando se proporcionan expresiones maliciosas, el backend devuelve diferencias de respuesta medibles (variaciones TRUE/FALSE), lo que confirma que la entrada del usuario influye en la lógica SQL.
scostEstas condiciones permiten colectivamente a los atacantes modificar la lógica SQL prevista.
Esta vulnerabilidad está clasificada como Alta debido a su baja complejidad de ataque, la ausencia de requisitos de autenticación y el impacto total de lectura/escritura en la base de datos.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Severidad estimada: Alta (9.8)
La vulnerabilidad puede explotarse mediante valores manipulados enviados al parámetro scost.
Los atacantes pueden:
(Los payloads detallados se omiten intencionalmente para evitar su uso indebido.)
Para remediar la vulnerabilidad:
scost solo acepte valores numéricosHasta que haya un parche disponible: