Back to blog
CVE-2026-41462ProjeQtorSQL injectionPMOauth bypassCVE

ProjeQtor CVE-2026-41462 : SQL Injection non authentifiée sur la page de login

ProjeQtor 7.0 à 12.4.3 contient une SQL injection critique (CVSS 9.8) sur l'endpoint d'authentification. Création de comptes admin, lecture de données, RCE possible.

May 3, 20264 min read

ProjeQtor, l'outil open-source français de gestion de projet et PMO utilisé par de nombreuses ETI et collectivités, vient d'être affecté par une vulnérabilité CVSS 9.8 classée critique. CVE-2026-41462 correspond à une injection SQL non authentifiée dans la fonctionnalité de login : la variable login est concaténée directement dans une requête SQL sans paramétrage ni assainissement. Toute instance ProjeQtor exposée à Internet peut être compromise par un attaquant qui ne connaît même pas un nom d'utilisateur valide.


Détails techniques

L'endpoint d'authentification reçoit le champ login saisi par l'utilisateur dans le formulaire de connexion. Plutôt que d'utiliser une requête préparée (prepare() + bindParam()), le code construit la requête SQL par concaténation de chaîne :

// Pseudo-code reconstitué (typique du pattern vulnérable)
$query = "SELECT * FROM users WHERE login = '" . $_POST['login'] . "' AND ...";

Un attaquant injecte des expressions SQL arbitraires dans le champ login :

login=admin' UNION SELECT 1,2,3,4-- 
login=' OR 1=1; INSERT INTO users (login, role) VALUES ('hacker', 'admin')--

Selon les permissions du compte de base de données utilisé par ProjeQtor :

  • DB user limité : extraction de données, création de comptes privilégiés via INSERT
  • DB user à privilèges élevés : exécution de commandes système via xp_cmdshell (SQL Server) ou INTO OUTFILE + LFI (MySQL)

Caractéristiques

ChampValeur
CVSS 3.19.8 (CRITICAL)
VecteurAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-89 (SQL Injection)
AuthentificationAucune (avant authentification, sur la page de login)
Endpoint/index.php (authentification, paramètre login)

Produits et versions affectés

ProduitVersions affectéesStatut
ProjeQtor7.0 → 12.4.3 incluse❌ Vulnérable

L'éditeur recommande la mise à jour vers la dernière version disponible. Vérifiez la page release officielle pour la version exacte corrigée.


Exploitation et impact

Vecteur d'attaque

Toute instance ProjeQtor accessible via HTTP/HTTPS — ce qui inclut quasi systématiquement les déploiements en intranet d'entreprise et un nombre non négligeable d'instances publiques (environnements de démo, instances cloud privées mal protégées).

Conséquences

1. Création d'un compte admin (le plus probable)

L'attaquant injecte un INSERT qui crée un compte avec rôle administrateur. Une fois connecté, il a un accès complet à tous les projets, ressources, documents stockés dans ProjeQtor, soit potentiellement :

  • Plans projet et budgets clients
  • Documents internes (cahiers des charges, contrats)
  • Données RH (collaborateurs affectés aux projets)
  • Roadmaps et plannings stratégiques

2. Extraction massive de données

Via une UNION SELECT, l'attaquant peut exfiltrer la totalité de la base : table users avec hash de mots de passe, données projet, mails, attachements stockés en BDD.

3. RCE via la base de données

Si le compte DB a les permissions, escalade vers RCE :

  • MySQL : SELECT '<?php system($_GET[c]);?>' INTO OUTFILE '/var/www/html/shell.php'
  • PostgreSQL : extension COPY ... PROGRAM (versions récentes uniquement)
  • MSSQL : xp_cmdshell activé par défaut sur certains déploiements

Détection et IOC

Logs serveur web (Apache/Nginx)

Recherchez dans les logs d'accès des requêtes vers la page de login contenant des motifs SQL injection :

grep -E "login=.*['\"%].*(UNION|SELECT|INSERT|UPDATE|DELETE|DROP|--|;)" /var/log/apache2/access.log

Indicateurs typiques :

  • login=' OR '1'='1
  • login=admin' --
  • login=' UNION SELECT
  • login=%27 (URL-encoded simple quote)

Logs ProjeQtor / base de données

  • Connexions admin réussies depuis des IPs externes inconnues
  • Création soudaine de comptes administrateurs (à corréler avec le journal applicatif)
  • Volume anormal de requêtes SELECT sur users ou tables sensibles

Règle WAF (ModSecurity exemple)

SecRule ARGS:login "@detectSQLi" \
  "id:'2026041462',phase:2,deny,status:403,\
   msg:'ProjeQtor CVE-2026-41462 SQL injection attempt'"

Mitigation et patch

Action prioritaire : mettre à jour

# Sauvegarde obligatoire avant toute mise à jour
mysqldump -u user -p projeqtor > projeqtor-backup-$(date +%Y%m%d).sql

# Téléchargement et installation de la dernière version
# (suivre la procédure officielle de mise à jour ProjeQtor)

Workaround si patch impossible immédiatement

  1. Restreindre l'accès réseau : limiter l'instance ProjeQtor à un VPN ou à des IPs internes
  2. Mettre un WAF devant (ModSecurity, Cloudflare, AWS WAF) avec ruleset SQL injection actif
  3. Désactiver temporairement la connexion publique si l'usage le permet (HTTPS via certificat client / mTLS uniquement)
  4. Auditer les comptes admin existants pour détecter une compromission antérieure

Hardening durable

  • Migrer le compte DB de ProjeQtor vers un compte aux permissions strictement nécessaires (pas de FILE, pas de xp_cmdshell)
  • Activer le journal détaillé des requêtes SQL pour faciliter la chasse en cas d'incident
  • Mettre en place une rotation des mots de passe pour tous les comptes admin actuels (par précaution)

Pourquoi surveiller en continu vos applications métier

Les outils de PMO, ITSM et collaboration interne sont rarement aussi surveillés que les serveurs front Internet — pourtant ils contiennent souvent les données les plus sensibles d'une organisation : roadmaps, budgets, contrats, données RH. Une CVE comme celle-ci, sur un éditeur historiquement discret en termes de bulletin sécurité, peut passer inaperçue si vous n'avez pas un inventaire applicatif à jour.

Avec cveo.tech, surveillez automatiquement vos applications open-source et SaaS auto-hébergées et soyez alerté dès qu'une CVE critique vise une de vos versions — sans avoir à monitorer manuellement les release notes de chaque éditeur.

Monitor CVEs with AI

AI-powered search, CVSS scoring, asset monitoring and automatic alerts.