CVE-2026-6490 : Injection SQL dans QueryMine SMS
Résumé exécutif
Section intitulée « Résumé exécutif »Le projet PHP QueryMine SMS est affecté par une vulnérabilité critique, identifiée sous le nom de CVE-2026-6490. Cette faille permet à un attaquant distant non authentifié d’exécuter une injection SQL et d’effectuer des modifications de données non autorisées. La vulnérabilité réside dans le point de terminaison admin/deletecourse.php, qui omet de vérifier l’authentification ou de nettoyer les entrées utilisateur avant d’exécuter des opérations en base de données.
Analyse technique
Section intitulée « Analyse technique »L’architecture de l’application repose sur un backend PHP simple destiné à la gestion de SMS. Mon analyse du fichier admin/deletecourse.php révèle un défaut d’implémentation majeur dans la logique centrale.
Contournement de l’authentification
Section intitulée « Contournement de l’authentification »Le point de terminaison administratif ne comporte aucune validation de session. L’application ne vérifie ni la présence ni la validité d’un cookie de session ou des permissions de rôle d’administrateur. Par conséquent, toute requête adressée à ce fichier est traitée par le serveur sans considération de l’état d’authentification de l’initiateur.
Échec du nettoyage des entrées
Section intitulée « Échec du nettoyage des entrées »La vulnérabilité provient du traitement du paramètre GET id :
$get_course_id = $_GET['id'];DELETE FROM course WHERE course_id='$get_course_id'Le script récupère l’identifiant id directement depuis le paramètre de l’URL et le concatène dans la chaîne de requête SQL. Aucune sanitation, aucun filtrage, et aucune utilisation de requêtes préparées ne sont en place. Ce schéma permet à un attaquant d’injecter des commandes SQL arbitraires. Bien que l’implémentation actuelle facilite une suppression non autorisée simple, l’impact potentiel s’étend à une manipulation complète de la base de données, y compris l’exfiltration de données ou la création de comptes administratifs illégitimes.
Scénario d’exploitation
Section intitulée « Scénario d’exploitation »Le processus d’exploitation est élémentaire. Un attaquant a seulement besoin d’un accès réseau au serveur web cible.
- Identifier l’URL cible hébergeant le système QueryMine SMS.
- Construire une requête GET malveillante ciblant
admin/deletecourse.php. - Ajouter l’identifiant du cours visé au paramètre
id. - Observer la réponse du serveur ; une exploitation réussie entraîne une redirection, bien que l’opération en base de données soit complétée immédiatement.
Exemple de requête de suppression :
GET /admin/deletecourse.php?id=59 HTTP/1.1
Indicateurs forensiques
Section intitulée « Indicateurs forensiques »Les équipes de sécurité doivent se concentrer sur les journaux d’accès web pour identifier les comportements anormaux liés à cette vulnérabilité.
Règle de détection Sigma
Section intitulée « Règle de détection Sigma »title: QueryMine SMS SQL Injection and Unauthorized Accessstatus: experimentaldescription: Détecte l'exploitation de la CVE-2026-6490 via la suppression non autorisée de cours.logsource: category: webdetection: selection: uri|endswith: /admin/deletecourse.php params|contains: id= condition: selectionRemédiation
Section intitulée « Remédiation »Le fournisseur n’a pas fourni de correctif officiel pour ce projet en version continue (rolling release). Les organisations déployant QueryMine SMS doivent prendre des mesures immédiates pour sécuriser l’implémentation :
- Mettre en œuvre l’authentification : ajouter une vérification de session obligatoire à tous les fichiers situés dans le répertoire
admin/. - Utiliser des requêtes préparées : remplacer la concaténation SQL brute par des requêtes préparées via PDO ou MySQLi pour prévenir l’injection.
- Restreindre l’accès : restreindre l’accès au répertoire
admin/via des configurations au niveau serveur (par exemple, fichiers.htaccessou blocs de localisation Nginx) aux segments réseau autorisés ou aux IP VPN uniquement.