Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as hotel-restricted back-office employee
-
DeliverySubmit foreign room IDs in id_rooms parameter
-
ExploitServer skips hotel-ownership authorization check
-
ExecutionModify status/floor/inactive-dates of other hotels' rooms
-
ImpactDisrupt availability and bookings
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires a valid authenticated back-office (admin panel) employee account whose profile is hotel-restricted (non-super-admin) in a QloApps deployment managing multiple hotels - the flaw is meaningful only when tenant separation between hotels exists. The attacker exploits the ajaxProcessBulkUpdateRooms action by passing room IDs owned by other hotels in the id_rooms parameter, because the controller performs no check that those rooms belong to a hotel the employee may access. Limiting factors: exploitation needs prior authentication (PR:L) and privileges of a restricted employee, so it is an insider/cross-tenant abuse vector rather than unauthenticated remote compromise; single-hotel installations and super-admin-only staffing models are not meaningfully exposed. Impact is confined to integrity/availability of room data (status, floor, comments, inactive dates); no confidentiality breach or code execution. |
| Impact | This is a genuine but moderate-severity authorization flaw (CWE-639, IDOR) rather than a critical priority. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L) scores 5.3 and is internally consistent with the description: network-reachable, low complexity, but requiring low-level privileges (PR:L) - i.e. an already-authenticated, hotel-restricted back-office employee - with no confidentiality impact and only limited integrity/availability impact. No EPSS score was provided, the CVE is not in CISA KEV, and no public exploit code is referenced (only a vendor advisory and a researcher HackMD writeup), so there is no signal of active or widespread exploitation. The realistic risk is an insider/cross-tenant abuse scenario in multi-hotel deployments, not internet-wide mass exploitation. Note the impact ceiling: the flaw only lets an attacker tamper with room status/availability data (integrity/availability), consistent with the C:N rating - there is no data exfiltration or code execution. One data gap to verify: the input provides only a CVSS 4.0 vector and no 3.1 vector, EPSS, or POC status, so exploitation likelihood is inferred from the vector and description alone. |
| Exploit ScenarioDerived | A back-office employee whose profile is restricted to Hotel A logs into the QloApps admin panel and invokes the ajaxProcessBulkUpdateRooms endpoint, supplying room IDs belonging to Hotel B in the id_rooms parameter. Because the endpoint does not verify that the submitted rooms belong to a hotel the employee is authorized for, the server applies status, floor, comment, or inactive-date changes to the foreign rooms, disrupting their availability and bookings. No public exploit code is identified at time of analysis, but the technique is trivial to reproduce for any authenticated restricted operator. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
Hotel-restricted back-office employees in QloApps through 1.7.0 can modify room records belonging to hotels they are not authorized to manage, because AdminProductsController::ajaxProcessBulkUpdateRooms trusts the client-supplied id_rooms parameter without verifying that those rooms belong to hotels the employee's profile can access. An authenticated low-privileged employee submitting foreign room IDs can change room status, floor, comments, or inactive dates, disrupting availability and bookings at other properties. Rated 5.3, this is a moderate-severity cross-tenant IDOR (CWE-639) that is meaningful only in multi-hotel deployments with non-super-admin, hotel-restricted staff accounts; no public exploit code or confirmed active exploitation was identified at time of analysis, and an upstream fix is available in GitHub PR #1892.
RemediationAI
Upgrade to a QloApps build that contains the fix from GitHub PR #1892 (https://github.com/Qloapps/QloApps/pull/1892), which introduces hasHotelAccess, checkHotelAccess and checkRoomsAccess in classes/controller/AdminController.php and applies them to the bulk room-update action and its sibling room-management AJAX endpoints; no tagged release version carrying the fix is independently confirmed here, so verify the deployed code actually contains these access-check helpers rather than relying on a version banner. If immediate upgrade is not possible, the most effective compensating control is to remove the cross-tenant attack surface: reconfigure every back-office employee profile so that it is scoped to a single hotel (or grant room-management permissions only to super administrators), which eliminates the ability to reference foreign room IDs but breaks legitimate multi-property staff workflows. Alternatively, block or remove the ajaxProcessBulkUpdateRooms action in the admin routing layer, accepting that bulk room status, floor and date edits will no longer work from the rooms UI, and temporarily disable or restrict the related delete-disable-date and delete-room actions that share the same missing object-level check. Because exploitation leaves real traces in operational data, also review room records for unexpected status, floor, comment or inactive-date changes attributable to non-super-admin accounts, and treat any such edits as evidence of insider misuse. Full technical background is in the VulnCheck advisory and the researcher write-up at https://hackmd.io/@leediay/H189W20qfg.
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 open-source hotel management and booking platform built on the PrestaShop MVC framework, where back-office functionality is implemented by AdminController subclasses under controllers/admin/ and is reachable through AJAX actions such as ajaxProcessBulkUpdateRooms. The platform supports fine-grained employee profiles that can be scoped to a subset of hotels (resolved at runtime through HotelBranchInformation::getProfileAccessedHotels), which is the tenant-isolation boundary the vulnerable endpoint failed to enforce. This is a textbook CWE-639 authorization bypass through a user-controlled key: the room identifiers passed in id_rooms were treated as trusted input, and the controller never mapped those room IDs back to their owning hotels nor compared the result with the employee's accessible-hotel list, so object-level access control was effectively delegated to the client. The vendor patch (PR #1892) adds centralized helpers in classes/controller/AdminController.php, hasHotelAccess(), checkHotelAccess() and checkRoomsAccess(), the latter resolving room IDs to hotels via HotelRoomInformation::getHotelIdsByRoomIds and rejecting any hotel outside the profile's allowed set, with unknown hotel IDs treated as no access. Notably, the same PR also inserts these checks into sibling AJAX endpoints such as ajaxProcessDeleteHotelRoom, ajaxProcessSubmitDisableDates, ajaxProcessGetDisableDates, ajaxProcessDeleteDisableDate and ajaxProcessDeleteRoomTypeLengthOfStayRestriction, indicating a broader pattern of missing object-level authorization in the room-management surface rather than a single isolated sink. Authentication is required (the CVSS vector carries PR:L and the independent assessment confirms a valid back-office employee account), and the impact is limited to integrity and availability of room configuration data with no confidentiality exposure or code execution.
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:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
Network-reachable admin endpoint with low complexity; PR:L because a restricted authenticated employee account is required; C:N as no data is read, with I:L/A:L for room-data tampering and booking disruption.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
QloApps through 1.7.0 contains an authorization bypass vulnerability in AdminProductsController::ajaxProcessBulkUpdateRooms that allows hotel-restricted back-office employees to modify rooms of other hotels. Attackers can submit foreign room IDs in the id_rooms parameter to change status, floor, comments, or inactive dates, disrupting availability and bookings.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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-93380
GHSA-43x5-8v25-7f24
NVD
CVE.org
EPSS
Exploit-DB