Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-19632 — Exploitation de prise de contrôle de compte non authentifiée pour TranslatePress Multilingual <= 3.3.1 (WordPress) | Kitploit
Outils/GitHubGitHub/ghostpels/cve-2026-19632
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionAuthentificationRed Teaming
GitHubghostpels/cve-2026-19632

CVE-2026-19632

Exploitation de prise de contrôle de compte non authentifiée pour TranslatePress Multilingual <= 3.3.1 (WordPress)

Voir le dépôt
il y a 5h 16mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-19632 — TranslatePress ≤ 3.3.1 Prise de contrôle de compte non authentifiée PoC

CVE CVSS Affected Patched Python License

Outil de prise de contrôle de comptes en masse pour CVE-2026-19632, une prise de contrôle de compte non authentifiée dans le plugin WordPress TranslatePress – Multilingual (≤ 3.3.1) causée par la divulgation du lien de réinitialisation de mot de passe. Une seule commande par liste de cibles — la chaîne complète s'exécute automatiquement, et chaque prise de contrôle réussie est écrite dans le fichier de sortie au moment même où elle se produit.

Avertissement — utilisation autorisée uniquement. Cet outil modifie de vrais mots de passe de comptes et déclenche de vrais e-mails de réinitialisation de mot de passe. Utilisez-le exclusivement contre des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de test. L'auteur n'est pas responsable de toute utilisation abusive.


Résumé de la vulnérabilité

CVECVE-2026-19632
ProduitTranslatePress – Multilingual (plugin WordPress, slug translatepress-multilingual), par Cozmoslabs
Versions affectéesToutes les versions ≤ 3.3.1 (plus de 400 000 installations actives)
Correctif3.3.2 (correctif : vérification current_user_can sur le gestionnaire AJAX public du dictionnaire)
CVSS 3.19.8 CRITIQUE — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (CNA : Wordfence)
CWECWE-200 (Exposition d'informations sensibles) + CWE-640 (Mécanisme de récupération de mot de passe faible)
ImpactPrise de contrôle de compte administrateur non authentifiée

La chaîne

  1. Nonce AJAX public — chaque page en langue secondaire affiche trp_data incluant le nonce get_translations. Les nonces pour les visiteurs déconnectés sont publics par conception ; le plugin s'appuie sur eux pour la sécurité.
  2. URL de réinitialisation stockée dans le dictionnaire de traduction — le plugin accroche wp_mail et traduit les e-mails sortants dans la langue du destinataire. Lorsqu'un attaquant anonyme déclenche wp-login.php?action=lostpassword pour un administrateur dont la langue de profil est une langue secondaire publiée, l'intégralité de l'e-mail de réinitialisation — y compris l'URL en clair wp-login.php?action=rp avec la clé de réinitialisation valide — est insérée dans wp_trp_dictionary_<default>_<locale> de manière synchrone dans la requête de l'attaquant. SMTP n'a même pas besoin de fonctionner.
  3. Lecture publique du dictionnaire — trp_get_translations_regular est enregistré comme wp_ajax_nopriv et, avant la version 3.3.2, ne vérifiait que le nonce public. N'importe qui peut énumérer le dictionnaire par string_ids et extraire la clé.

Analyse technique complète : CVE-2026-19632-REPORT.md


Outil — cve-2026-19632.py

Un script autonome unique qui exécute la chaîne complète pour chaque cible d'une liste :

  1. Détecter TranslatePress (signature de page + repli readme.txt)
  2. Extraire le nonce public et toutes les langues secondaires publiées (trp_data + sondage du sélecteur de langue)
  3. Vérifier que le gestionnaire AJAX public non corrigé répond sans authentification
  4. Découvrir les noms d'utilisateur (API REST → redirection auteur → suppositions courantes, chacune vérifiée via l'oracle d'erreur wp-login)
  5. Récolter d'abord les URL de réinitialisation déjà stockées — aucun déclenchement nécessaire
  6. Sinon, déclencher une réinitialisation de mot de passe par candidat jusqu'à ce que l'URL fuite
  7. Réinitialiser le mot de passe (flux WP ≤ 6.x et WP 7.0), se connecter, et — dès que cela réussit — ajouter url|username|password au fichier de sortie (flush, thread-safe, sans attendre la fin de l'exécution)

Robustesse intégrée :

  • Repli sur clé obsolète — les clés récoltées déjà utilisées/expirées sont détectées et une nouvelle réinitialisation est déclenchée automatiquement.
  • Couverture multi-langues — la fuite est recherchée dans chaque dictionnaire de langue secondaire, pas seulement le premier.
  • Nouvelle tentative réseau, prise en charge du proxy, journaux colorisés (colorama avec repli simple).
  • Mot de passe fort aléatoire par cible (ou fixe via --new-password).

Prérequis

root@kitploit:~
pip install -r requirements.txt

Utilisation

root@kitploit:~
# exécution complète contre une liste de cibles, 20 threads
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 20

# mot de passe fixe pour chaque cible
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 10 --new-password 'Pwn3d!2026'

# via un proxy
python cve-2026-19632.py -l targets.txt -o vuln.txt -t 10 --proxy http://127.0.0.1:8080
OptionDescription
-l, --listFichier avec une URL cible par ligne (commentaires # autorisés)
-o, --outputFichier de résultats, format url|username|password (défaut vuln.txt)
-t, --threadsWorkers concurrents (défaut 10)
--new-passwordMot de passe fixe pour toutes les cibles (défaut : aléatoire 14 caractères par cible)
--timeoutDélai d'expiration par requête en secondes (défaut 15)
--proxyProxy HTTP, ex. http://127.0.0.1:8080
--no-colorDésactiver la sortie colorée

Démo

Journal de terminal contre une instance de laboratoire (WordPress 7.0.4 + TranslatePress 3.3.1, ar par défaut → en_US secondaire) — valeurs anonymisées :

root@kitploit:~
[00:09:06] [INFO] Outil de prise de contrôle CVE-2026-19632 - 3 cible(s), 3 thread(s)...
[00:09:06] [SKIP]    http://example.com (pas de TranslatePress)
[00:09:07] [INFO]   http://TARGET TP trouvé - langues : ar->en_US, nonce=a1b2c3d4e5
[00:09:09] [INFO]   candidats nom d'utilisateur : ['admin', ...]
[00:09:09] [WARN]   tentative 1/3 échouée (clé obsolète)
[00:09:09] [WARN]   tentative 2/3 échouée (clé obsolète)
[00:09:09] [WARN]   tentative 3/3 échouée (clé obsolète)
[00:09:09] [INFO]   toutes les clés obsolètes - nouveau déclenchement de réinitialisation...
[00:09:15] [TAKEOVER] http://TARGET SUCCÈS - utilisateur='admin' mot de passe='Pwn3d!2026'
[00:09:15] [INFO]   terminé. résumé : ERREUR=1 | IGNORÉ=1 | PRISE DE CONTRÔLE=1

vuln.txt (écrit en direct, au moment du succès) :

root@kitploit:~
http://TARGET|admin|Pwn3d!2026

Traitez vuln.txt comme un artefact sensible — il contient des identifiants en direct et/ou des clés de réinitialisation valides. Ajoutez-le à .gitignore.

Conditions requises pour qu'une cible soit exploitable

  • TranslatePress ≤ 3.3.1 avec au moins une langue secondaire publiée
  • Enregistrement automatique des chaînes ACTIVÉ (paramètre avancé "Manual Translation Only" DÉSACTIVÉ — le défaut)
  • La langue de profil du compte cible = une langue secondaire
  • Un nom d'utilisateur découvrable
  • Réinitialisation de mot de passe non bloquée par ailleurs

Non requis : un serveur de messagerie fonctionnel (l'URL est stockée dans le filtre wp_mail, avant la tentative d'envoi).


Atténuation

  1. Mettre à jour TranslatePress vers 3.3.2 ou ultérieur (correctif officiel).
  2. Défense en profondeur : activer "Manual Translation Only", conserver les langues de profil administrateur sur la langue par défaut du site, faire pivoter les identifiants sur toute installation ayant exécuté ≤ 3.3.1 avec une langue secondaire.
  3. Surveiller les journaux admin-ajax.php pour une énumération séquentielle de string_ids avec un nonce security public.

Chronologie de divulgation

DateÉvénement
2026-08-12CVE-2026-19632 réservé
2026-08-13TranslatePress 3.3.2 publié avec le correctif
2026-08-25/26Wordfence publie l'avis ; 8 618 tentatives d'exploitation bloquées en 24 h
2026-08-28Avis ThaiCERT

Crédits

  • Découverte de la vulnérabilité : Yuto Hyakumoto (momopon1415) et l'équipe Wordfence, crédités dans le journal des modifications 3.3.2.
  • Preuve de concept : ghostpel

Références

  • Avis Wordfence
  • Journal des modifications TranslatePress 3.3.2
  • Avis ThaiCERT
  • IONIX Threat Center
  • CIRCL vulnerability-lookup

Licence

MIT © 2026 ghostpel

Télécharger l’outil