Skip to main content

QloApps EUVDEUVD-2026-99013

| CVE-2026-110229 MEDIUM
Missing Authorization (CWE-862)
2026-10-13 disclosure@vulncheck.com GHSA-w2pq-37hc-r8rq
5.3
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as hotel-restricted back-office employee
  2. Delivery
    Open AdminSlipController credit-slips view
  3. Exploit
    Enumerate other hotels' unfiltered credit slips
  4. Execution
    Export PDFs, redeem slips and generate vouchers
  5. Impact
    Expose customer PII and commit refund/voucher fraud

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

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

Exploitation Conditions

Requires a valid, authenticated back-office employee account that is intentionally restricted to a subset of hotels, AND a multi-hotel QloApps deployment where cross-hotel data isolation is expected - in a single-hotel install there is no foreign data to reach. The specific weakness is that OrderSlip::getSlipsIdByDate() and AdminSlipController's query apply only the PrestaShop shop restriction and omit the HotelBranchInformation hotel restriction, so credit slips are not scoped to the employee's assigned hotel(s). Limiting factors: attacker must already possess low-privilege back-office credentials with credit-slip access (no anonymous/network-only path), and the exposure is confined to credit-slip/refund data and voucher generation.

Impact

This is a moderate, authorization-layer risk rather than a critical one. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N, base 5.3) is self-consistent with the description: exploitation requires an already-authenticated low-privilege back-office employee account (PR:L), so this is a horizontal privilege-escalation / broken-access-control issue (CWE-862), not a pre-auth or network-anonymous flaw. No EPSS score, no CISA KEV listing, and no confirmed public exploit code are present in the input, so there is no evidence of active or at-scale exploitation; the signals are consistent in pointing to low real-world urgency. Impact is limited to Low confidentiality (exposure of other hotels' customer identities and refund amounts) and Low integrity (marking slips redeemed and minting store-credit vouchers) - the voucher-generation capability gives it a financial-fraud dimension that raises its practical seriousness above a pure info-leak, but it still demands an insider/trusted-employee foothold. Net: a legitimate multi-tenant isolation bug worth patching in affected multi-hotel deployments, but not an emergency given the authenticated prerequisite and absence of exploitation signals.

Exploit ScenarioDerived

A back-office employee at a multi-hotel QloApps property, whose account is scoped to only their own hotel, browses to the AdminSlipController credit-slips page and finds refund records belonging to other hotels are not filtered out. They list and export other hotels' credit slips as PDF (harvesting customer names and refund amounts) and mint store-credit vouchers against those foreign refund records. No public exploit code is identified at time of analysis, though a researcher writeup (hackmd.io) and the vendor fix commit document the flaw.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 14, 2026

Improper authorization in QloApps through 1.7.0 lets an authenticated back-office employee who is scoped to a single hotel view, PDF-export, mark as redeemed, and convert other hotels' credit slips (refunds) into store-credit vouchers, exposing guest identities and refund amounts. The flaw only manifests in multi-hotel deployments, since the weakness is missing per-hotel scoping in the credit-slip queries, and the attacker must already hold a low-privilege back-office account that permits credit-slip access; an upstream fix (commit a759ae96 and PR #1650) is published but a tagged patched release was not independently confirmed. There is no confirmed active exploitation and no public exploit identified at time of analysis; the issue is tracked as CWE-862 (Missing Authorization) with a moderate CVSS of 5.3.

RemediationAI

The vendor fix is the upstream commit a759ae96d0d01e982d40f96d357c94bb30f3a7b3 (pull request https://github.com/Qloapps/QloApps/pull/1650); the change is published as a GitHub PR/commit and a tagged patched release was not independently confirmed, so treat this as 'Upstream fix available (PR/commit); released patched version not independently confirmed' and either deploy QloApps from the patched branch or backport the two exact changes: append ' ' . HotelBranchInformation::addHotelRestriction(false) to the query in OrderSlip::getSlipsIdByDate(), and add 'INNER JOIN '._DB_PREFIX_.'htl_booking_detail hbd ON (a.id_order = hbd.id_order) ' . HotelBranchInformation::addHotelRestriction(false, 'hbd') in AdminSlipController::__construct() before the controller builds its list. Until that is deployed, apply targeted compensating controls and accept their trade-offs: revoke credit-slip/refund permissions from hotel-scoped employee profiles so they cannot open AdminSlipController actions at all (side effect: those staff can no longer process or redeem refunds and must route them to a central admin), constrain admin-panel access to a trusted network/VPN or IP allowlist (side effect: remote hotel staff need VPN access), and enable and monitor back-office audit logs for credit-slip listing, PDF export, 'mark as redeemed' actions and store-credit voucher generation across hotels, treating any cross-hotel activity from a single-hotel-scoped account as a compromise indicator. Reference material for validation and detection: the vendor advisory https://www.vulncheck.com/advisories/qloapps-through-1.7.0-missing-hotel-access-restriction-in-credit-slips and the public analysis at https://hackmd.io/@leediay/SyMoELioMx.

Affected VersionsENISA

QloApps 0 ≤1.7.0

Affected Packages

euvd qloapps no fix

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 PrestaShop-derived hotel booking and property-management platform that extends the core multi-shop model with its own concept of hotel branches (HotelBranchInformation). The platform provides two parallel isolation mechanisms: PrestaShop's Shop::addSqlRestriction(), which scopes SQL queries to a shop context, and HotelBranchInformation::addHotelRestriction(), which scopes them to the hotel branch an employee is assigned to. The vulnerability is CWE-862 Missing Authorization: the credit-slip code paths applied only the shop restriction and omitted the hotel restriction, so an employee intentionally limited to one hotel could read and mutate credit slips belonging to all branches. Concretely, OrderSlip::getSlipsIdByDate() built its query with '.Shop::addSqlRestriction(Shop::SHARE_ORDER, 'o')' and nothing else, while AdminSlipController's list construction set a _join without joining the booking-detail table that carries the hotel association. The upstream commit a759ae96d0d01e982d40f96d357c94bb30f3a7b3 fixes this by appending ' ' . HotelBranchInformation::addHotelRestriction(false) to the getSlipsIdByDate() query and by adding 'INNER JOIN '._DB_PREFIX_.'htl_booking_detail hbd ON (a.id_order = hbd.id_order) ' . HotelBranchInformation::addHotelRestriction(false, 'hbd') to the controller's _join. In PrestaShop terms an OrderSlip represents a credit slip/partial refund, so the affected data set includes customer identity fields and monetary refund amounts, and the affected controller actions include listing, PDF export, marking as redeemed, and voucher/store-credit generation. Note that the supplied source tags label this as an 'Authentication Bypass' and reference 'Microsoft'; that framing does not match the evidence and the independent assessment - this is a post-authentication authorization failure (CVSS vector contains PR:L, i.e. an authenticated account is required), not a bypass of authentication.

Know when the next one hits your stack

  • 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 (vulncheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Authenticated hotel-scoped employee over the web admin gives AV:N/AC:L/PR:L/UI:N; cross-hotel PII read is C:L and slip redemption/voucher creation is I:L with no availability impact.

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

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

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

DescriptionCVE.org

QloApps through 1.7.0 contains an improper access control vulnerability in AdminSlipController that allows hotel-restricted back-office employees to access credit slips of all hotels. Attackers can list, export as PDF, mark as redeemed, and generate store-credit vouchers from other hotels' refund records, exposing customer identities and amounts.

Threat Intelligence Overview

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Low
niche open-source hospitality reservation software, limited enterprise footprint
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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