
Vulnérabilité d'injection SQL découverte dans Grocery Store Management System 1.0
Une vulnérabilité d'injection SQL de haute sévérité a été identifiée dans le composant search_products.php de Grocery Store Management System 1.0, une application web basée sur PHP/MySQL créée par anirudhkannan.
Le problème provient d'une validation incorrecte des entrées et de la construction non sécurisée de requêtes SQL utilisant le paramètre scost contrôlé par l'utilisateur. Cette faille permet aux attaquants de manipuler la logique SQL sous-jacente, ce qui peut conduire à l'exposition de données sensibles, à leur altération ou à un compromis total de la base de données.
Grocery/search_products.phpLa vulnérabilité existe en raison de la concaténation directe d'entrées utilisateur non validées dans des requêtes SQL.
Le paramètre POST scost, censé représenter une valeur numérique de coût de produit, est intégré dans la clause WHERE SQL sans :
Cela permet à un attaquant d'injecter des expressions booléennes SQL arbitraires, modifiant le comportement de la requête et extrayant le contenu de la base de données à l'aide de techniques d'injection SQL booléenne.
La vulnérabilité est exploitable via une requête POST standard envoyée à search_products.php. Lorsque des expressions malveillantes sont fournies, le backend renvoie des différences de réponse mesurables (variations VRAI/FAUX), confirmant que l'entrée utilisateur influence la logique SQL.
scostCes conditions permettent collectivement aux attaquants de modifier la logique SQL prévue.
Cette vulnérabilité est classée Haute en raison de sa faible complexité d'attaque, de l'absence d'exigences d'authentification et de l'impact complet en lecture/écriture sur la base de données.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Sévérité estimée : Haute (9.8)
La vulnérabilité peut être exploitée via des valeurs forgées transmises au paramètre scost.
Les attaquants peuvent :
(Les détails des payloads sont volontairement omis pour éviter toute utilisation abusive.)
Pour remédier à la vulnérabilité :
scost n'accepte que des valeurs numériquesEn attendant qu'un correctif soit disponible :