Alerte de Sécurité de Hong Kong Prisna GWT XSS (CVE202412680)

Scriptage Inter-Sites (XSS) dans WordPress Prisna GWT – Plugin Google Website Translator
Nom du plugin Prisna GWT – Traducteur de site Web Google
Type de vulnérabilité Script intersite (XSS)
Numéro CVE CVE-2024-12680
Urgence Faible
Date de publication CVE 2026-01-30
URL source CVE-2024-12680

CVE-2024-12680 : XSS stocké administrateur dans Prisna GWT – Google Website Translator (≤ 1.4.13) — Ce que les propriétaires de sites WordPress doivent savoir

Auteur : Expert en sécurité de Hong Kong · Date : 2026-01-30

TL;DR — Une vulnérabilité de Cross‑Site Scripting (XSS) stockée (CVE‑2024‑12680) affecte les versions du plugin Prisna GWT – Google Website Translator antérieures à 1.4.14. L'exploitation nécessite qu'un administrateur authentifié interagisse (interaction utilisateur requise) mais peut entraîner l'exécution de scripts dans le contexte administrateur. Mettez à jour vers 1.4.14 immédiatement, auditez la base de données pour des scripts injectés et appliquez des atténuations temporaires, y compris des règles WAF et le renforcement des comptes administrateurs.

Aperçu

On 30 January 2026 a stored Cross‑Site Scripting (XSS) vulnerability affecting the WordPress plugin “Prisna GWT – Google Website Translator” (versions < 1.4.14) was published and assigned CVE‑2024‑12680. The vulnerability is classified as an “Admin+ Stored XSS” — meaning a privileged account (administrator) can be targeted, and a malicious payload saved in plugin data will execute in the browser when certain admin pages or UI elements are viewed or interacted with.

Although the vulnerability’s base severity is moderate (CVSS 5.9), the practical risk is limited by the required privileges and user interaction. However, stored admin‑side XSS can enable post‑exploitation actions such as:

  • Injection de JavaScript administratif pour faciliter la persistance (par exemple, changer les options du site ou introduire des portes dérobées)
  • Vol de cookies ou de jetons d'authentification des administrateurs (prise de session)
  • Déclenchement d'attaques automatisées supplémentaires ou mouvement latéral lorsqu'il est enchaîné avec d'autres failles
  • Injection d'éléments d'interface utilisateur administratifs malveillants pour hameçonner des identifiants ou introduire des redirections malveillantes

Ce guide explique le problème, les étapes de détection sécurisée, les options d'atténuation et les conseils de récupération du point de vue d'un praticien de la sécurité à Hong Kong.

What exactly is an “Admin Stored XSS”?

Stored XSS occurs when user-supplied data is stored on the server and later rendered to users without proper sanitization or encoding. In an “Admin Stored XSS” case:

  • Le payload est stocké dans les options du plugin, les paramètres administratifs ou d'autres stockages côté serveur par un attaquant (ou un compte administrateur compromis).
  • Lorsque qu'un autre administrateur (ou le même administrateur effectuant une tâche de routine) ouvre une page d'administration du plugin, le script stocké s'exécute dans le contexte de son navigateur.
  • Parce que cela s'exécute dans le navigateur de l'administrateur et avec les privilèges de cet utilisateur, cela peut effectuer toute action que l'utilisateur peut effectuer via l'interface utilisateur — y compris changer des paramètres, éditer des fichiers de thème/plugin, créer de nouveaux utilisateurs, etc.

Dans ce rapport, le plugin accepte une entrée administrateur qui n'a pas été suffisamment nettoyée ou échappée avant d'être affichée dans l'interface utilisateur administrateur.

Portée et versions affectées

  • Plugin affecté : Prisna GWT – Google Website Translator
  • Affected versions: any version older than 1.4.14 (< 1.4.14)
  • Corrigé dans : 1.4.14
  • CVE : CVE‑2024‑12680
  • Privilège requis : Administrateur
  • Interaction utilisateur : Requise (l'administrateur doit visualiser/cliquez sur une page ou un lien conçu)
  • Catégorie OWASP : A3 — Injection (Cross‑Site Scripting)
  • Priorité du correctif : Faible (mais le déploiement est tout de même recommandé dès que possible)

Pourquoi vous devriez toujours vous en soucier (même si cela nécessite un accès administrateur)

De nombreuses compromissions de sites commencent par le vol de credentials administratives ou l'ingénierie sociale. Les attaquants peuvent obtenir des credentials administratives par le phishing, des mots de passe réutilisés ou des outils de développement compromis. Le XSS stocké dans l'interface utilisateur admin est attrayant car il permet aux attaquants de :

  • Transformer une seule session admin compromise en contrôle persistant par injection de code ou modifications de configuration
  • Circumvent server‑side protections by manipulating the admin’s browser (client‑side persistence)
  • Utiliser l'ingénierie sociale pour tromper un administrateur afin qu'il charge une URL conçue ou ouvre une page de paramètres spécifique

Par conséquent, malgré l'exigence de privilège, les impacts en aval peuvent être graves.

Flux d'exploitation de haut niveau (non exploitable)

Remarque : Aucun code d'exploitation ou instructions de mise en œuvre étape par étape ne sont fournies.

  1. Un utilisateur privilégié est trompé pour visiter une URL admin conçue ou interagir avec un formulaire d'entrée malveillant.
  2. L'attaquant utilise les paramètres du plugin ou des champs d'options pour stocker une charge utile contenant du JavaScript.
  3. Lorsque l'administrateur ouvre la page d'administration du plugin concerné, le navigateur exécute le script stocké.
  4. The script acts in the context of the admin’s authenticated session — changing options, adding users, exfiltrating tokens, etc.

La remédiation immédiate consiste à supprimer le chemin de sortie vulnérable ou à mettre à jour le plugin corrigé.

Actions immédiates (que faire maintenant)

Si vous gérez des sites WordPress avec ce plugin installé, prenez ces mesures immédiatement :

  1. Mettez à jour immédiatement
    • Mettez à jour le plugin vers la version 1.4.14 (ou ultérieure) dans les environnements de production, de staging et de développement dès que possible.
    • Si les mises à jour automatiques ne sont pas activées, planifiez la mise à jour et centralisez les mises à jour lorsque cela est possible.
  2. Si vous ne pouvez pas mettre à jour immédiatement, désactivez le plugin
    • Désactivez temporairement le plugin jusqu'à ce qu'il puisse être mis à jour. Cela supprime la sortie de l'interface utilisateur admin vulnérable où les charges utiles stockées peuvent s'exécuter.
  3. Auditez les comptes et les sessions administrateurs.
    • Forcez une réinitialisation de mot de passe pour tous les comptes administrateurs.
    • Invalidez toutes les sessions actives (utilisez des outils de gestion de session ou WP‑CLI lorsque cela est disponible).
    • Activez l'authentification à deux facteurs (2FA) pour tous les administrateurs.
  4. Scannez à la recherche de contenu de script injecté.
    • Search the database for suspicious strings commonly associated with XSS:
    • Check plugin-specific options (wp_options rows with option_name matching the plugin’s keys), plus post_meta and term_meta areas the plugin may use.
    • Run searches on a staging copy to avoid accidental changes to production data.
  5. Use a Web Application Firewall (WAF) to create temporary protections
    • Add WAF rules to block admin POST requests that contain script tags or dangerous attributes.
    • Block requests with javascript: URIs or encoded script sequences (e.g. %3Cscript).
    • Prevent unauthenticated or low‑privilege users from accessing sensitive admin endpoints.
  6. Review and clean any detected injections
    • If you find injected scripts in the database, remove them carefully.
    • Consider restoring from a clean backup if you cannot confidently remove all malicious entries.
    • Rotate API keys and credentials stored in options after cleaning.

Detection: how to find signs of exploitation

Look for the following indicators:

  • New or modified administrator user accounts you did not create
  • Unexpected changes in plugin or theme files
  • Recent modifications to the site’s wp_options table entries linked to the translator plugin
  • HTML containing