Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPhish authenticated admin with crafted exceptions-param link
-
DeliveryAdmin clicks link to back-office Transplant-module form
-
ExploitUnescaped exceptions value reflects into input element
-
ExecutionJavaScript executes in admin session
-
ImpactSteal session tokens / perform admin actions
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 | Exploitation requires an authenticated back-office administrator session in QloApps (through 1.7.0) and that the victim follow an attacker-crafted link - the payload lands in the 'exceptions' parameter of the AdminModulesPositions 'Transplant a module' form, whose displayModuleExceptionList() reflects the value unescaped into an HTML input. Limiting factors: the attacker cannot exploit this without an admin being logged in and clicking the malicious link (UI:P/PR:L), the XSS is reflected (non-persistent, so each victim must be individually lured), and impact is bounded to the admin's browser session (Low C/I, no availability impact). Patched installations (PR #1899 / commit 7ed467d, which applies Tools::safeOutput) are not affected. |
| Impact | This is a genuinely low-to-moderate priority issue, not a high-CVSS-but-overrated flaw - the vendor's own CVSS 4.0 score of 5.1 (Medium) already reflects its constrained impact. The 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/SC:L/SI:L) shows network reach but three meaningful limiters: it requires an authenticated administrator (PR:L), passive user interaction (UI:P - the admin must follow the attacker's link), and yields only Low confidentiality/integrity impact (reflected, non-persistent script execution). No EPSS score was provided and the CVE is not in CISA KEV, so there is no evidence of active exploitation. Public proof-of-concept detail does exist (the hackmd write-up by @leediay documenting four reflected XSS in QloApps, plus the VulnCheck advisory), so exploitation is well-understood even if not automated. Signals are internally consistent: the reflected, admin-targeted, interaction-dependent nature matches the modest score. A patch is confirmed available (vendor PR #1899 / commit 7ed467d), which should be the primary remediation driver rather than fear of mass exploitation. |
| Exploit ScenarioDerived | An attacker crafts a URL to the QloApps back-office AdminModulesPositions controller with a JavaScript payload in the exceptions parameter, then lures a logged-in administrator (via phishing/chat) into clicking it. When the admin's browser renders the 'Transplant a module' exceptions form, the unescaped value reflects into the input and the script executes in the admin's session, enabling session/CSRF-token theft or back-office actions on the admin's behalf. Public write-ups (hackmd @leediay and the VulnCheck advisory) document the technique, so working exploit knowledge is available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Reflected cross-site scripting (CWE-79) in QloApps through 1.7.0 lets attackers inject JavaScript through the 'exceptions' parameter of the back-office 'Transplant a module' form, which AdminModulesPositionsController::displayModuleExceptionList() reflects unescaped into an HTML input so the payload executes in an authenticated administrator's browser once the victim follows a crafted link. Exploitation requires a logged-in back-office admin and victim interaction (CVSS 4.0 5.1 Medium; vector PR:L/UI:P, independently assessed as CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N), the payload is reflected and non-persistent so each victim must be individually lured, and impact is bounded to low confidentiality/integrity with no availability effect. An upstream fix is available (GitHub PR #1899 / commit 7ed467d, which introduces Tools::safeOutput), and no public exploit is identified at time of analysis.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. Apply QloApps commit 7ed467d911086b190180d7f297e3b15ba31e82d5 (GitHub PR https://github.com/Qloapps/QloApps/pull/1899), which encodes the exceptions value, shop name and option values with Tools::safeOutput(), integer-casts the shop id, and hardens the related JavaScript in form.tpl - or upgrade to a QloApps build that vendors this commit, after verifying with the project repository (https://github.com/Qloapps/QloApps) which release contains it, since the vendor advisory at https://www.vulncheck.com/advisories/qloapps-through-1.7.0-reflected-xss-via-exceptions-field did not specify a fixed version number. If immediate patching is not possible, compensating controls are: restrict back-office reachability by relocating/renaming the admin directory, IP-allowlisting or placing the admin panel behind VPN/SSO, and treating any unsolicited link to the module-transplant screen as hostile - trade-offs are that these measures break remote or roaming administrator workflows and do not remove the underlying flaw; alternatively, temporarily disable the 'Transplant a module' / module positions feature until the fix is deployed, accepting that legitimate module repositioning will be unavailable. As additional defense, deploy a Content-Security-Policy that disallows inline scripts on admin pages (with the caveat that legacy Smarty/back-office inline JavaScript may break and require testing), and warn administrators not to follow links containing crafted 'exceptions' parameters.
Affected VersionsENISA
Affected Packages
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
QloApps is a Webkul-built open-source hotel booking and property-management platform derived from the PrestaShop codebase, so it inherits PrestaShop's AdminController back-office architecture and Smarty template engine. The vulnerable surface is the AdminModulesPositions back-office controller, specifically the 'Transplant a module' workflow that hooks a module into a display position and accepts an 'exceptions' list of files. In displayModuleExceptionList() the input is built by raw string concatenation - '<input type="text" name="exceptions['.$shop_id.']" value="'.implode(', ', $file_list).'" ...>' - and the shop name and generated <option> values are interpolated the same way, with no HTML encoding; the accompanying form.tpl also builds a jQuery selector by string-concatenating user-influenced values (list.find('option[value="' + $.trim(values[i]) + '"]')). The CWE-79 root cause is failure to neutralize user-controllable input before it is placed in output: the reflected value lands inside an HTML attribute, so an attribute-breaking payload (for example '"><script>...' or an event-handler injection) is parsed and executed in the administrator's origin, giving script access to the whole authenticated back office. The upstream patch replaces concatenation with Tools::safeOutput() (HTML-special-character encoding) on the exceptions value, the shop name and the option values, casts $shop_id to an integer, switches the jQuery lookup to a strict .filter(function(){ return this.value === value; }) comparison, and replaces .html() with .text() on a related booking-dates view.
Know when Qloapps 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Network-reachable reflected XSS needing an authenticated admin (PR:L) to click a link (UI:R); script-in-browser crosses into the admin DOM context (S:C) with limited C/I and no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
QloApps through 1.7.0 contains a reflected cross-site scripting vulnerability in the exceptions field of the back-office Transplant a module form. Attackers can craft a malicious link containing JavaScript payload in the exceptions parameter that executes in an authenticated administrator's session when the victim follows the link.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
QloApps hotel management system (through 1.7.0) allows unauthenticated web shell upload through the hotel review feature
An unauthenticated Time-Based SQL injection found in Webkul QloApps 1.6.0 via GET parameter date_from, date_to, and id_p
An arbitrary file upload vulnerability in Webkul Qloapps v1.6.0.0 allows attackers to execute arbitrary code via uploadi
Path traversal in QloApps through 1.7.0 lets an authenticated back-office user read arbitrary files from the web server
An unauthenticated Cross-Site Scripting (XSS) vulnerability found in Webkul QloApps 1.6.0 allows an attacker to obtain a
An unauthenticated Cross-Site Scripting (XSS) vulnerability found in Webkul QloApps 1.6.0 allows an attacker to obtain a
Cross Site Scripting vulnerability found in Webkil QloApps v.1.5.2 allows a remote attacker to obtain sensitive informat
A vulnerability was detected in Webkul QloApps up to 1.7.0. Rated medium severity (CVSS 5.5), this vulnerability is remo
An unauthenticated Cross-Site Scripting (XSS) vulnerability found in Webkul QloApps 1.6.0 allows an attacker to obtain a
A vulnerability, which was classified as problematic, was found in Webkul QloApps 1.6.1. Rated medium severity (CVSS 5.3
Stored cross-site scripting in QloApps through 1.7.0 enables authenticated administrators to inject persistent JavaScrip
Unrestricted file upload in Webkul QloApps allows a remote attacker holding administrative credentials to upload executa
EUVD-2026-90436
GHSA-fcwp-ghxg-82xp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB