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-9558-poc — PoC d'exploitabilité pour CVE-2026-9558 (SSTI Mautic Theme) | Kitploit
Outils/GitHubGitHub/covepseng/cve-2026-9558-poc
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges UtilesLabs et Pratique
GitHubcovepseng/cve-2026-9558-poc

cve-2026-9558-poc

PoC d'exploitabilité pour CVE-2026-9558 (SSTI Mautic Theme)

Voir le dépôt
13il y a 2 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-9558 — Injection de modèles de thèmes Mautic côté serveur (SSTI) menant à une prise de contrôle totale de l'administration

Table des matières

  • Aperçu
  • Versions affectées
  • Cause racine
  • Analyse
  • Structure du dépôt
  • Prérequis
  • Utilisation
  • Sortie attendue
  • Références
  • Avertissement

Aperçu

CVE-2026-9558 est une vulnérabilité d'injection de modèles côté serveur (SSTI) dans le moteur de thèmes de Mautic. Les thèmes téléchargés via le gestionnaire de thèmes sont des archives ZIP contenant des modèles Twig, et dans les versions affectées, ces modèles sont rendus par l'Environment Twig par défaut de l'application sans aucune politique SandboxExtension attachée.

Étant donné que Twig peut invoquer des callables PHP arbitraires via des filtres tels que map, filter et reduce, un utilisateur authentifié disposant des droits de téléchargement de thèmes peut installer un thème dont le modèle exécute une commande système arbitraire dès son rendu — ce qui se produit automatiquement la première fois qu'un utilisateur ouvre le constructeur d'e-mails ou de pages d'atterrissage avec ce thème.

root@kitploit:~
{{ ["id"] | map("system") | join }}

Versions affectées

Plage affectéeCorrigé dans
>= 1.3.0, < 4.4.134.4.13 (4.4.20 via ELTS)
>= 5.0.0, < 5.2.115.2.11
>= 6.0.0, < 6.0.96.0.9
>= 7.0.0, < 7.1.27.1.2

Ce laboratoire cible la version 7.1.1, la dernière publication avant le correctif.


Cause racine

La documentation développeur de Mautic indique que les modèles de thèmes sont rendus dans un environnement sandbox Twig restreint :

Mautic rend les modèles de thèmes téléchargés par l'utilisateur dans un environnement sandbox Twig restreint. Le sandbox bloque certaines fonctions et certains filtres qui pourraient permettre l'exécution de code à distance, la fuite de données ou le sondage du système de fichiers.

Dans les versions affectées, cette politique sandbox n'existe pas. Le correctif (7.1.2) introduit ThemeSandboxPolicy.php, une implémentation de SecurityPolicyInterface basée sur une liste noire qui bloque les filtres map, filter et reduce ainsi qu'un ensemble de fonctions incluant source() (lecture de fichier arbitraire) et configGetParameter() (fuite des identifiants de base de données et de la clé secrète de l'application). Le commentaire en ligne du correctif lui-même documente la forme exacte de la charge utile utilisée dans ce PoC :

root@kitploit:~
private const DENIED_FILTERS = [
    'map',    // {{ ['id']|map('system')|join }} -> RCE
    'reduce',
    'filter',
];

Avant cette politique, aucune restriction de ce type n'existait sur aucun chemin de rendu de thème.


Analyse

La chaîne a été validée de bout en bout contre un compte à faibles privilèges disposant uniquement des groupes de permissions Thèmes (création/édition) et E-mails (création/édition) — pas Administrateur — pour correspondre à la précondition PR:L dans le vecteur CVSS de l'avis.

  1. Exécution de commande — le téléchargement d'un thème modifié et l'ouverture du constructeur d'e-mails exécute les appels system() intégrés dans le fichier .twig du thème.
  2. Vol d'identifiants — la même primitive lit le fichier config/local.php de Mautic, exposant les identifiants de base de données et la secret_key de l'application en clair.
  3. Élévation de privilèges — les identifiants de base de données volés sont utilisés pour ouvrir une connexion PDO directe depuis la charge utile SSTI et promouvoir le compte à faibles privilèges en role_id 1 (Administrateur), contournant ainsi complètement les vérifications de permissions au niveau de l'application Mautic.
root@kitploit:~
uid=33(www-data) gid=33(www-data) groups=33(www-data)
root@kitploit:~
'db_host' => 'mautic-db',
'db_user' => 'mautic',
'db_password' => 'mauticpass',
'secret_key' => 'a15d98da823d751f4a0a5219123f4afbd90eb254074b1cea07518a3c0db70bcd',
root@kitploit:~
rows_updated=1
confirm: 2|priv-esc|1

Préconditions confirmées empiriquement

L'avis indique PR:L. Ce laboratoire confirme la précondition spécifique à faibles privilèges en pratique : atteindre le déclencheur de rendu nécessite à la fois les permissions de téléchargement de thème et de création d'e-mail — pas une seule permission faible générique. Aucune solution de contournement au-delà du correctif officiel ne restreint cela ; la seule atténuation documentée consiste à limiter core:themes:create aux administrateurs de confiance.


Structure du dépôt

root@kitploit:~
cve-2026-9558-poc/
├── podman-compose.yml       # MariaDB + Mautic 7.1.1-apache, réseau pont isolé
├── Dockerfile.mautic        # verrouille l'image officielle sur la version vulnérable
├── install.sh               # bootstrap non interactif de mautic:install
└── sparse/
    ├── config.json           # manifeste du thème malveillant
    ├── sparse.zip            # thème prêt à être téléchargé
    └── html/
        ├── email.html.twig   # modèle de payload SSTI. Regardez la fin du fichier où se trouve le placeholder pour injecter des commandes arbitraires.
        ├── ...               # Autres fichiers .twig
        └── .../              # Autres répertoires (par ex. css)

Prérequis

OutilVersionNotes
Podman≥ 4.0podman-compose requis
curlanyutilisé par install.sh pour vérifier la disponibilité

L'exploitation dans ce PoC est effectuée manuellement via l'interface web de Mautic (téléchargement dans le gestionnaire de thèmes → constructeur d'e-mails), correspondant au workflow réel de l'attaquant : le téléchargement de thème est une opération sur fichier, pas un appel API qu'il vaudrait la peine d'automatiser à ce stade de l'analyse.


Utilisation

1. Construire et démarrer le laboratoire

root@kitploit:~
podman-compose up -d
./install.sh

install.sh attend que le conteneur de l'application accepte les connexions, puis exécute mautic:install de manière non interactive pour amorcer le premier compte Administrateur.

2. Créer un compte à faibles privilèges

Depuis l'interface, créez un rôle personnalisé avec uniquement les permissions Thèmes (création/édition) et E-mails (création/édition) activées, et un utilisateur assigné à ce rôle. Cela reproduit la précondition PR:L au lieu de tester en tant qu'Administrateur.

3. Télécharger le thème malveillant

Connectez-vous en tant qu'utilisateur à faibles privilèges. Depuis Thèmes → Télécharger, téléchargez un ZIP construit à partir de sparse/config.json et sparse/html/page.html.twig (ou une copie modifiée d'un thème intégré avec la ligne de charge utile ajoutée à son fichier .twig).

4. Déclencher le rendu

Depuis Canaux → E-mails → Nouveau, sélectionnez le thème téléchargé comme modèle et ouvrez le constructeur. La charge utile s'exécute dès que le thème est rendu pour l'aperçu.

5. Nettoyage

root@kitploit:~
podman-compose down -v

Sortie attendue

root@kitploit:~
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Références


Avertissement

Ce dépôt est destiné à des fins éducatives et d'analyse d'exploitabilité locale uniquement. Tous les tests ont été effectués sur un environnement conteneurisé auto-hébergé. N'exécutez pas ce PoC contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de tester.

Télécharger l’outil
RessourceLien
AvisGHSA-9fx4-7cmj-47vg
Correctif (politique sandbox)ThemeSandboxPolicy.php
Dépôt vulnérablemautic/mautic
Analyse complète — article de blogreturn-zero.dev/posts/cve-2026-9558