Introduction

Cet article documente la découverte et le dépôt de ma première CVE officielle — CVE-2025-60500 — affectant Smart School Management v7.1 (QDocs), un ERP de gestion d'établissements scolaires.

Cette vulnérabilité illustre un problème récurrent : des solutions vendues "prêtes à l'emploi" déployées sans aucune vérification de sécurité préalable.

Avertissement

Cet article est pédagogique. Aucun PoC exploitable n'est divulgué. Les détails techniques ont été communiqués au fournisseur avant publication, selon une procédure de divulgation responsable.

Contexte — Pourquoi c'est problématique

Un établissement scolaire déploie un ERP pour centraliser la gestion des élèves, des professeurs et du personnel. L'ERP est hébergé sur leur propre serveur web. Ce qu'ils ne savaient pas : un utilisateur authentifié pouvait passer de l'interface de gestion à un shell web exécutant des commandes directement sur le serveur.

La faille — File Upload sans filtrage suffisant

L'ERP permet à des utilisateurs authentifiés d'uploader des fichiers (cours, ressources pédagogiques). Le filtrage côté serveur était insuffisant — il était possible d'uploader un fichier PHP malveillant qui, une fois exécuté par le serveur, permettait d'obtenir un reverse shell.

Qu'est-ce qu'un reverse shell ?

Un reverse shell permet à la machine cible d'initier une connexion sortante vers l'attaquant — contournant ainsi les firewalls qui bloquent les connexions entrantes. Une fois cette connexion établie, l'attaquant contrôle le serveur via une interface en ligne de commandes.

Pourquoi PHP rend ça possible ?

PHP est un langage côté serveur : un fichier PHP uploadé et accessible via le serveur web est exécuté par le serveur lui-même. Si ce fichier contient un reverse shell, il est exécuté avec les droits du serveur web — donnant potentiellement accès à l'ensemble du système.

Impact potentiel

Conclusion

Cette CVE illustre pourquoi un pentest devrait être réalisé avant tout déploiement d'un ERP ou d'une application métier — même commerciale, même "certifiée". Les solutions prêtes à l'emploi ne sont pas synonymes de solutions sécurisées.