Skip to main content

QloApps CVE-2026-93988

| EUVDEUVD-2026-83616 HIGH
Path Traversal (CWE-22)
2026-09-19 VulnCheck GHSA-pjph-5h96-886c
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privileged back-office login
  2. Delivery
    Send getEmailHTML AJAX request to admin/ajax.php
  3. Exploit
    Inject ../ traversal in email parameter
  4. Execution
    Read arbitrary file outside mail dir
  5. Impact
    Exfiltrate DB credentials and config

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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

Exploitation Conditions

Requires an authenticated QloApps back-office (admin panel) user session (PR:L) - any privilege level able to reach the getEmailHTML action of admin/ajax.php. The attacker supplies relative path sequences ('../') in the 'email' parameter; the vulnerable AdminTranslationsController::getEmailHTML calls file_get_contents on the path without confirming it resolves within _PS_MAIL_DIR_. Limiting factors: exploitation is gated on valid back-office authentication (not pre-auth), affects QloApps versions through 1.7.0, and is neutralized once the vendor patch (PR #1719 / commit 8015495c) adding realpath()+_PS_MAIL_DIR_ prefix validation is applied. No special non-default configuration is otherwise needed.

Impact

This is a moderate, realistically-exploitable issue rather than a critical emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N = 7.1) is internally consistent with the description: network-reachable, low complexity, requires low privileges (an authenticated back-office account), no user interaction, and high confidentiality impact with no integrity or availability impact - appropriate for an arbitrary-file-read flaw. The key limiting signal is PR:L: exploitation requires a valid authenticated back-office (admin panel) session, so this is not a pre-auth internet-wide bug. Positive escalation signals: a public exploit write-up exists (hackmd.io) and a vendor patch is available (PR #1719), and it was reported by VulnCheck, a credible source. No EPSS score is provided and the CVE is not in CISA KEV, so there is no evidence of active exploitation - the risk is 'plausible and documented' rather than 'observed in the wild.' Because the leaked data explicitly includes database credentials and configuration, the confidentiality impact (VC:H) is justified and can serve as a stepping stone to fuller compromise, which raises the practical priority for any exposed QloApps instance despite the authentication requirement.

Exploit ScenarioDerived

An attacker with any low-privileged back-office account (or one obtained via a compromised/weak staff credential) sends a crafted AJAX request to admin/ajax.php invoking the getEmailHTML action with an 'email' parameter containing '../' traversal sequences. The application calls file_get_contents on the attacker-controlled path without validating it stays within the mail directory, returning arbitrary files such as settings.inc.php containing database credentials. A public proof-of-concept write-up already documents this technique.

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 – Sep 19, 2026

Path traversal in QloApps through 1.7.0 lets an authenticated back-office user read arbitrary files from the web server by supplying directory-traversal sequences in the 'email' parameter of the getEmailHTML action in admin/ajax.php. Because the vulnerable code passes an attacker-controlled path to file_get_contents without verifying it stays inside the mail template directory, stolen files can include configuration and database-credential material, giving a limited-privilege admin user read access to data far beyond their intended scope. Publicly available exploit code exists (a detailed write-up is referenced), but there is no evidence of confirmed active exploitation in the wild; the vendor fix is available upstream as PR #1719 / commit 8015495c, so exposure is realistically limited to unpatched installations.

RemediationAI

Apply the upstream fix: QloApps pull request #1719 (commit 8015495ca746127920fbcde1f9507c024b26a715) adds realpath() validation against _PS_MAIL_DIR_ in AdminTranslationsController::getEmailHTML and is the authoritative remediation; because the fix is delivered as a PR/commit rather than a confirmed tagged release, verify the change is present in whatever build you deploy or cherry-pick the commit into your installation, and track https://github.com/Qloapps/QloApps for the corresponding released version. If immediate patching is not possible, reduce exposure by restricting the back office to trusted networks or VPN and enforcing MFA and strict least privilege on admin accounts, since the vulnerability is only reachable with a valid authenticated back-office session; a WAF or reverse-proxy rule that rejects requests to admin/ajax.php whose email parameter contains traversal sequences ('../' or encoded equivalents) will block the known exploitation pattern, with the trade-off of possible false positives on legitimate template names, so validate against real traffic before enforcing. Monitoring and alerting on file-read requests from the getEmailHTML action and rotating any secrets (database credentials, API keys) that were stored in plaintext in configuration files on unpatched hosts is advisable, because a successful read may already have exposed them and patching alone does not undo that disclosure.

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

The flaw is a classic CWE-22 improper limitation of a pathname to a restricted directory ('path traversal'), implemented in PHP. QloApps exposes an administrative AJAX endpoint, admin/ajax.php, whose getEmailHTML action reads an email template file. The implementation in AdminTranslationsController::getEmailHTML takes the caller-supplied 'email' value, concatenates it into a filesystem path and calls file_get_contents on the result, with no check that the resolved path remains beneath the mail directory constant _PS_MAIL_DIR_. Supplying '../' sequences in the parameter therefore escapes the intended mail-template folder and resolves to arbitrary readable files on the host, such as configuration files that hold database credentials. The upstream fix confirms the root cause: it introduces realpath() on both the requested file and _PS_MAIL_DIR_, then requires that the resolved file path begin with the resolved permitted directory prefix before reading it. The same pull request also tightens adjacent translation-archive import logic (extension allow-listing and stricter filename regexes), indicating the maintainers hardened the broader file-handling surface around this controller. The CVSS 4.0 vector in the source data records AV:N/AC:L/AT:N/PR:L/UI:N with high confidentiality impact only and no integrity or availability impact, which matches the read-only nature of the primitive; the independent assessment expresses the same profile under CVSS 3.1 (PR:L, C:H/I:N/A:N).

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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable AJAX endpoint requiring an authenticated back-office account (PR:L), no user interaction; arbitrary file read yields high confidentiality (DB creds) with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/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
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

QloApps through 1.7.0 contains a path traversal vulnerability in the getEmailHTML action of admin/ajax.php that allows authenticated back-office users to read arbitrary files. Attackers can supply relative path sequences in the email parameter to bypass directory restrictions and access sensitive files including database credentials and configuration data.

Technical POC Analysis

CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / path traversal).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

QloApps deployments at version 1.7.0 and earlier expose back-office users to a file-read flaw that can reveal configuration and database credentials, giving limited-privilege administrative accounts access well beyond their intended scope. Publicly available exploit code exists, so unpatched installations face elevated risk, though the impact is constrained by the need for back-office access. Leadership should prioritize patching and credential review because a compromised or malicious back-office account could pivot into broader database and configuration compromise.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Low
niche open-source hotel-reservation/booking e-commerce platform, limited enterprise footprint
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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 Yes
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2025-67325 CRITICAL POC
9.8 Jan 08

QloApps hotel management system (through 1.7.0) allows unauthenticated web shell upload through the hotel review feature

CVE-2023-36284 HIGH POC
7.5 Jun 23

An unauthenticated Time-Based SQL injection found in Webkul QloApps 1.6.0 via GET parameter date_from, date_to, and id_p

CVE-2024-40318 HIGH POC
7.2 Jul 25

An arbitrary file upload vulnerability in Webkul Qloapps v1.6.0.0 allows attackers to execute arbitrary code via uploadi

CVE-2023-36287 MEDIUM POC
6.1 Jun 23

An unauthenticated Cross-Site Scripting (XSS) vulnerability found in Webkul QloApps 1.6.0 allows an attacker to obtain a

CVE-2023-36289 MEDIUM POC
6.1 Jun 23

An unauthenticated Cross-Site Scripting (XSS) vulnerability found in Webkul QloApps 1.6.0 allows an attacker to obtain a

CVE-2023-30256 MEDIUM POC
6.1 May 11

Cross Site Scripting vulnerability found in Webkil QloApps v.1.5.2 allows a remote attacker to obtain sensitive informat

CVE-2025-10759 MEDIUM POC
5.5 Sep 21

A vulnerability was detected in Webkul QloApps up to 1.7.0. Rated medium severity (CVSS 5.5), this vulnerability is remo

CVE-2023-36288 MEDIUM POC
5.4 Jun 23

An unauthenticated Cross-Site Scripting (XSS) vulnerability found in Webkul QloApps 1.6.0 allows an attacker to obtain a

CVE-2025-1155 MEDIUM POC
5.3 Feb 10

A vulnerability, which was classified as problematic, was found in Webkul QloApps 1.6.1. Rated medium severity (CVSS 5.3

CVE-2026-25558 MEDIUM POC
4.8 Jun 08

Stored cross-site scripting in QloApps through 1.7.0 enables authenticated administrators to inject persistent JavaScrip

CVE-2026-75496 HIGH
8.6 Aug 25

Unrestricted file upload in Webkul QloApps allows a remote attacker holding administrative credentials to upload executa

CVE-2026-75498 HIGH
8.6 Aug 25

SQL injection in Webkul QloApps back-office address search allows a remote attacker holding valid administrator credenti

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