Skip to main content

JTL-Shop CVE-2026-103904

| EUVDEUVD-2026-100973 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-14 ENISA GHSA-xqfj-gwfj-j97g
8.6
CVSS 4.0 · Vendor: ENISA
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit crafted consent name to public endpoint
  2. Delivery
    Payload stored in consent statistics
  3. Exploit
    Administrator opens consent statistics page
  4. Execution
    Script executes in admin browser session
  5. Impact
    Perform actions with administrator privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires that the shop expose its public consent endpoint (consent-banner functionality) to unauthenticated visitors, which accepts and stores arbitrary unvalidated consent names - this is the default behavior described, so no non-default configuration is needed to inject. Exploitation is limited by the requirement that a shop administrator subsequently open the consent statistics page in the backend for the stored payload to execute (CVSS UI:P / passive victim interaction); the attacker cannot trigger execution directly and gains only the privileges of whichever administrator views the page. No attacker authentication is required (PR:N), and no special attacker-side platform or client is needed beyond the ability to send HTTP requests.

Impact

This is a genuine, credible-priority stored XSS (CWE-79) rather than an inflated high-CVSS issue. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H) is internally consistent with the description: an unauthenticated remote attacker (PR:N) can inject arbitrary consent names over the network (AV:N) with low complexity (AC:L), and the only gating factor is that an administrator must later view the consent statistics page (UI:P / passive victim interaction). The score of 8.6 is justified because successful exploitation yields execution in an administrator's authenticated session, enabling high-impact actions against the shop backend (VC:H/VI:H), with a subsequent-system impact flagged as low (SC:L/SI:L). No EPSS score, CISA KEV listing, or public POC was provided in the intelligence set, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the risk here is driven by the ease of injection and the privilege of the victim, not by observed in-the-wild activity. The practical limiter is that exploitation is not fully automatable end-to-end: it depends on an administrator opening the specific statistics view, which makes this opportunistic/stored rather than wormable. No signals conflict; the main gap is the absence of exploitation-probability (EPSS) and exploitation-status (KEV/POC) telemetry, so the exploitation likelihood is inferred from the vector alone.

Exploit ScenarioDerived

An unauthenticated attacker sends requests to JTL-Shop's public consent endpoint supplying consent 'names' containing a JavaScript payload instead of a valid configured consent item. The payload is persisted into the consent statistics and later rendered unencoded when a shop administrator opens the consent statistics page in the backend, executing the script in the admin's authenticated session. No public POC was provided, but the attack requires only crafted HTTP requests plus an administrator viewing the affected page.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 14, 2026

Stored cross-site scripting in JTL-Shop lets unauthenticated remote attackers inject arbitrary script code through the shop's public consent endpoint, which accepts and stores attacker-controlled consent names without validating them against configured consent items. Those unvalidated names are then rendered without output encoding on the administration backend's consent statistics page, so the payload executes in the browser session of any administrator who opens that page, allowing actions with the administrator's privileges. No public exploit code or CISA KEV entry was identified at the time of analysis, but the vendor has published a security advisory; the CVSS 4.0 score is 8.6, and the independently assessed CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N) confirms an unauthenticated, remote, high-impact issue whose successful exploitation depends on an administrator passively viewing the affected statistics page.

RemediationAI

No exact patched version is specified in the available data, so the primary action is to consult the JTL security advisory at https://www.jtl-software.com/de/security/sicherheitsluecke-shop-xss/ and apply the vendor-released update for the affected JTL-Shop release as soon as it is confirmed. Until a fix can be deployed, the most effective compensating controls are: server-side allow-listing of consent names so only the identifiers of configured consent items are accepted by the public endpoint (side effect: any custom or dynamically generated consent labels must be added to the allow list or they will be rejected); HTML-encode or otherwise sanitize consent names when rendering the administration consent statistics page (a template-level change that must be re-applied after upgrades); and temporarily restrict or disable the public consent endpoint only if the shop can legally and functionally operate without banner-based consent capture (side effect: breaking GDPR/consent-banner functionality and potentially the shop's compliance posture). Additionally, reduce the blast radius by limiting administrator access to the backend consent statistics page to trusted networks or IP ranges, and by terminating active admin sessions after applying any interim fix so that previously injected payloads cannot execute. A Content Security Policy that disallows inline script can mitigate execution but is not a substitute for patching and may break legitimate admin UI behavior; it should be treated as defense in depth only.

Affected VersionsENISA

JTL-Shop 5.8.0 <5.8.2
JTL-Shop 5.7.0 <5.7.5
JTL-Shop 5.4.0 <5.6.5

Affected Packages

euvd jtl_shop fix: 5.6.5, 5.7.5, 5.8.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is a classic stored (persistent) cross-site scripting weakness, CWE-79, rooted in two missing controls: server-side validation of the 'consent name' parameter submitted to JTL-Shop's public consent endpoint, and output encoding when those stored names are displayed in the administration backend's consent statistics view. Because the consent endpoint is intentionally reachable by unauthenticated visitors (the consent-banner functionality is part of the default shop front end), any remote attacker can POST arbitrary strings that are persisted in the statistics table. When an administrator later loads the consent statistics page, the unencoded values are interpreted as HTML/JavaScript in the admin's browser context, which is a same-origin, privileged session. The CPE entry cpe:2.3:a:jtl-software_gmbh:jtl-shop:*:*:*:*:*:*:*:* indicates the vulnerability is tracked against the JTL-Shop product without a version qualifier, meaning all versions carrying the affected consent endpoint and statistics view should be considered in scope pending vendor clarification. The discrepancy between the CVSS 4.0 vector (UI:P, passive interaction) and the independent CVSS 3.1 assessment (UI:R, required interaction) reflects the fact that the attacker cannot trigger execution directly and must wait for an administrator to view the consent statistics page, but the resulting impact remains high because script runs with full administrator privileges (S:C, C:H, I:H).

Know when Jtl Shop gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (ENISA) PRIMARY 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N
vuln.today AI 9.3 CRITICAL

Unauthenticated network injection (PR:N, AV:N, AC:L); stored payload executes only when an admin views the page (UI:R); XSS crosses into the admin security context (S:C) enabling high confidentiality/integrity impact via admin actions.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (ENISA).

CVSS VectorVendor: ENISA

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 14, 2026 - 12:02 EUVD
CVE Published
Oct 14, 2026 - 10:23 cve.org
HIGH 8.6

DescriptionCVE.org

The public consent endpoint of JTL-Shop accepts arbitrary consent names from unauthenticated visitors without validating them against the configured consent items. These names are stored in the consent statistics and rendered without output encoding in the administration backend. An unauthenticated remote attacker can thereby inject script code that is executed in the browser session of an administrator viewing the consent statistics page, allowing actions to be performed with the administrator's privileges.

Executive ViewAI

Why It Matters

JTL-Shop is affected by a stored cross-site scripting issue that can let an unauthenticated remote attacker execute arbitrary script in an administrator’s browser session when the administrator opens the consent statistics page, potentially enabling actions with that administrator’s privileges. Because the issue is remotely exploitable without credentials and targets administrative sessions, it creates a meaningful risk of unauthorized shop configuration changes, data exposure, or broader compromise; leadership should prioritize mitigations while the vendor patch is unavailable. No public exploit identified at time of analysis, but the vendor advisory and high CVSS score warrant immediate risk reduction.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include restricting admin backend and consent statistics page access to trusted IPs, deploying WAF rules to block script tags in consent names, validating consent names server-side against configured consent items, output-encoding consent name rendering, and monitoring admin sessions and logs for anomalous activity.

Threat Intelligence Overview

EPSS Score
0.4%
Top 67% exploitable
Prevalence
Medium
popular e-commerce platform, widely used in German-speaking markets
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy