Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker crafts hidden auto-submit HTML form with XSS payload
-
DeliveryPhishes authenticated back-office admin into loading attacker page
-
ExploitBrowser auto-posts malicious filter parameter to QloApps list controller
-
ExecutionTemplate renders unescaped POST value into input value attribute
-
PersistArbitrary JavaScript executes in admin browser session
-
ImpactSession token or admin data exfiltrated to attacker
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 | The victim must be an authenticated QloApps back-office administrator with an active session at the time the malicious POST request is submitted. The attacker must induce the victim to load an attacker-controlled page that contains an auto-submitting HTML form directed at a QloApps list controller endpoint - a social engineering step (e.g., phishing email) is required since standard browser Same-Origin Policy does not block cross-origin form POST submissions (only XHR/fetch). The vulnerability affects any back-office list view rendered via the |
| Impact | The CVSS 4.0 score of 5.1 (AV:N/AC:L/PR:L/UI:P) reflects moderate severity appropriate to a POST-delivered reflected XSS. The most significant real-world mitigating factor is the delivery mechanism: POST-based XSS cannot be triggered by a simple hyperlink and instead requires social engineering an authenticated administrator into submitting a cross-origin form, raising the attacker's operational bar considerably - even a mid-sized municipal IT team in zabrze managing hotel properties via QloApps would see this primarily as a phishing-dependent risk rather than a mass-exploitation scenario. The CVSS 4.0 PR:L assignment in the input is debatable: the attacker themselves requires no credentials (only the victim must hold an active admin session), making PR:N more accurate for the attacker's perspective; this is noted in the independent assessment below. Impact is session-scoped (VC:L/VI:L on the vulnerable system, SC:L/SI:L on subsequent systems), reflecting that XSS yields browser-context control rather than direct server compromise. EPSS data is absent from the input, so quantitative exploitation probability cannot be assessed. No CISA KEV listing and no public exploit code were identified, keeping real-world urgency moderate despite the network-accessible vector. |
| Exploit ScenarioDerived | An attacker targeting a hotel property running QloApps identifies the back-office URL and crafts an HTML page containing a hidden form that auto-submits a POST request to a list controller endpoint (such as the orders or bookings list) with a filter parameter value containing a JavaScript payload - for example, |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 12, 2026
Reflected XSS in QloApps back-office (through version 1.7.0) allows an unauthenticated attacker to execute arbitrary JavaScript in an administrator's browser session by inducing an authenticated admin to submit a specially crafted POST request to back-office list controller endpoints. The root cause, confirmed by the GitHub patch diff, is the Smarty template list_header.tpl interpolating $smarty.post filter parameters directly into HTML input value attributes without the |escape:'html':'UTF-8' modifier - affecting at minimum five distinct interpolation points across date-range and text-filter inputs. Successful exploitation enables session-scoped impact including administrative credential harvesting and unauthorized back-office actions; no public exploit code or active exploitation has been identified at time of analysis.
RemediationAI
The upstream fix is available via GitHub PR #1801 and commit 153ec1c8567798bd99155098ecc0a340e38f25bf (https://github.com/Qloapps/QloApps/pull/1801), which adds |escape:'html':'UTF-8' Smarty output modifiers to all affected $smarty.post interpolations in list_header.tpl. However, no formally tagged patched release version is confirmed in the input data; operators should monitor the QloApps GitHub repository at https://github.com/Qloapps/QloApps for an official versioned release before deploying. As a compensating control until a patched release is available, restrict back-office administrative access to trusted IP ranges via web server ACLs or a VPN gateway - this eliminates an external attacker's ability to deliver the XSS payload to admin sessions from the public internet and is the most effective interim mitigation. Additionally, enforcing SameSite=Strict on session cookies (if not already set) reduces cross-origin form submission as a delivery vector, though this depends on server and framework configuration support.
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 PHP-based hotel reservation and property management system developed by Webkul (CPE: cpe:2.3:a:webkul:qloapps:*:*:*:*:*:*:*:*), built on a PrestaShop-derived architecture using the Smarty templating engine. The root cause (CWE-79: Improper Neutralization of Input During Web Page Generation) is the absence of output encoding in admin/themes/default/template/helpers/list/list_header.tpl. The Smarty engine exposes submitted POST data via $smarty.post, and the template was interpolating these values directly into HTML value attributes of <input> elements without escaping - allowing an attacker to break out of the attribute context and inject arbitrary HTML or JavaScript. The GitHub diff confirms at least five affected interpolations: two text range-filter inputs ([0]/[1]), two date-range hidden inputs, and one plain text filter input. The fix applies |escape:'html':'UTF-8' to each affected interpolation. The same PR also independently addresses a file-upload validation bypass (PDF active-content detection and image validation refactor in HotelBookingDocument.php), which is a separate security issue bundled into the same patch.
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
Attacker needs no credentials (PR:N); only the victim admin needs auth; UI:R for social-engineered form submission; S:C per standard reflected-XSS browser-context scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
QloApps through 1.7.0 renders back-office list filter POST parameters into HTML input value attributes without escaping them in the list helper template. Attackers can induce authenticated users to submit crafted POST requests with malicious payloads to list controllers, executing arbitrary JavaScript in the victim's session to read administrative data and perform actions.
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-76773
GHSA-crrq-mjw6-39qp
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB