Skip to main content

QCMS EUVDEUVD-2026-83822

| CVE-2026-94110 MEDIUM
SQL Injection (CWE-89)
2026-09-21 VulDB GHSA-6gqw-jhvg-4fwf
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Identify QCMS content-detail URL
  2. Delivery
    Craft ID injection with literal spaces
  3. Exploit
    Bypass route parsing (raw REQUEST_URI)
  4. Execution
    Trigger SQL injection in self_Tmp()
  5. Impact
    Dump database and credential hashes

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

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

Exploitation Conditions

Requires network access to a QCMS (<=6.0.6) instance exposing the Content Detail Page, which is a public/frontend endpoint - no authentication (PR:N) or user interaction needed. The specific and unusual limiting condition: the application's router parses the raw REQUEST_URI without URL-decoding, so injection payloads MUST contain literal space characters - percent-encoding (%20) will not decode before route parsing and will break the payload. This forces attackers to deliver un-encoded spaces in the URI, which can be filtered or normalized by upstream proxies/CDNs/WAFs, adding practical exploitation friction. Beyond that, exploitation works against default configurations of the affected product.

Impact

This is a moderate-priority, unauthenticated SQL injection in an obscure product. The vendor CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N, VC:L/VI:L/VA:L, E:P) yields 6.9 - network-reachable, low-complexity, no authentication or user interaction, which are genuine amplifiers. However, the vendor rated confidentiality/integrity/availability all as Low, understating typical SQLi impact: a working injection into the ID parameter usually enables full database dump (credential hashes, admin auth bypass), so I assess confidentiality High (my 3.1 ~7.5). Countervailing signals: exploitation status is a publicly available exploit code (SSVC/CVSS E:P, POC on GitHub) but NOT active exploitation - no CISA KEV entry and no EPSS score is supplied, so there is no evidence of widespread automated exploitation. A concrete technical LIMITER stated in the description materially raises real-world exploitation friction: the router consumes raw REQUEST_URI without URL decoding, so payloads must embed LITERAL spaces because %20 never decodes before route parsing - this constrains payload delivery through intermediaries/WAFs/proxies that normalize URLs. Net: real but not urgent - a valid unauth SQLi with public POC, tempered by an obscure deployment footprint and a payload-encoding constraint. Treat as a patch-when-available item rather than an emergency, noting the vendor responded to disclosure 'with profanity,' implying no fix is forthcoming.

Exploit ScenarioDerived

A remote unauthenticated attacker requests a QCMS content-detail page and injects SQL through the ID argument handled by self_Tmp() in Lib/Config/Controllers.php, using literal-space-based payloads (no %20) to satisfy the raw-REQUEST_URI router. This lets them enumerate and dump the backend database, including administrator credential hashes. A public exploit is available (GitHub yukino06/CVE issue #1), lowering the skill barrier.

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

Unauthenticated SQL injection in QCMS through 6.0.6 allows remote attackers to inject arbitrary SQL through the ID argument processed by the self_Tmp function in Lib/Config/Controllers.php, reachable via the public Content Detail Page. No authentication or user interaction is required (CVSS vector PR:N/UI:N), and publicly available exploit code exists - a proof-of-concept write-up has been published in a public GitHub issue. Exploitation is moderated in practice by the application's router, which parses the raw REQUEST_URI without URL-decoding, so payloads must contain literal space characters; percent-encoded (%20) payloads never decode before route parsing and fail, which gives edge proxies, CDNs and WAFs a usable filtering point. This is a moderate-priority issue against an obscure PHP CMS whose vendor has not issued a fix and has responded to the reporter with hostility.

RemediationAI

No vendor-released patch has been identified for CVE-2026-94110; the vendor was contacted before disclosure and responded only with profanity, so remediation must be self-directed. The strongest fix is a code-level one: in Lib/Config/Controllers.php, cast or validate the ID argument handled by self_Tmp to a strict integer and convert the query to a prepared statement with bound parameters - the trade-off is that this is an unsupported fork that must be re-applied after any future upgrade. If patching is not feasible, restrict exposure: place the Content Detail Page behind authentication or an IP allow-list, or temporarily disable the route in the router configuration, accepting the associated loss of public functionality. Because the router parses the raw REQUEST_URI without URL-decoding, every working payload must contain literal space characters, so a reverse-proxy or WAF rule that rejects request lines containing un-encoded spaces in the URI path/query is an effective and reasonably targeted mitigation - the trade-off is that any legitimate client sending un-encoded spaces will also be blocked, and this defense fails if an attacker finds a whitespace-free SQLi construction (e.g. comment-based or tab-separated variants), so it should be treated as a stopgap. Additionally, reduce the blast radius by giving the QCMS database account only the privileges it actually needs (read-only on content tables, no FILE, no stacked-query rights), and review the public exploit at https://github.com/yukino06/CVE/issues/1 to build accurate detection signatures for the injection pattern. Given the absence of vendor support and the publicly available exploit code, organizations running QCMS should also evaluate migrating to a maintained CMS.

Affected VersionsENISA

QCMS 6.0.4
QCMS 6.0.3
QCMS 6.0.6
QCMS 6.0.0
QCMS 6.0.1
QCMS 6.0.5
QCMS 6.0.2

Affected Packages

euvd qcms 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

QCMS is a PHP-based content management system that routes requests through a custom dispatcher in Lib/Config/Controllers.php; the affected Content Detail Page calls the self_Tmp function, which builds a SQL query using the caller-supplied ID parameter without parameterization, the classic CWE-89 improper-neutralization-of-special-elements-into-SQL-commands root cause. The CPE string cpe:2.3:a:n/a:qcms:*:*:*:*:*:*:*:* confirms the product is recorded without a formal vendor namespace and with a wildcard version, meaning no fixed release is known and all versions through 6.0.6 should be treated as vulnerable. What makes this case unusual is the framework's request handling: the router consumes the raw REQUEST_URI without URL-decoding, so SQL syntax requiring whitespace must be delivered as literal spaces in the request line rather than as %20 - an inversion of normal HTTP semantics that both constrains payload construction and creates a signature that upstream normalization layers can catch. The vendor's CVSS:4.0 self-score is 6.9 (AV:N/AC:L/AT:N/PR:N/UI:N with all three impact dimensions Low and E:P), while an independent re-scoring under CVSS:3.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N) judges confidentiality impact as High, reflecting that a successful injection can read arbitrary data from the backend database, with limited but real integrity impact and no demonstrated availability impact.

Know when Qcms 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 (VulDB) PRIMARY 5.5 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 8.2 HIGH

Unauthenticated network SQLi (AV:N/PR:N/UI:N); literal-space constraint is a payload nuisance not true AC:H; typical SQLi yields full DB read (C:H) with limited write (I:L).

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

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

Lifecycle Timeline

2
CVSS changed
Sep 21, 2026 - 02:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)
CVE Published
Sep 21, 2026 - 01:30 cve.org
MEDIUM 6.9

DescriptionCVE.org

A security vulnerability has been detected in QCMS up to 6.0.6. This issue affects the function self_Tmp in the library Lib/Config/Controllers.php of the component Content Detail Page. Such manipulation of the argument ID leads to sql injection. The attack may be performed from remote. The exploit has been disclosed publicly and may be used. Router uses raw REQUEST_URI without URL decoding, so payloads must contain literal spaces - %20 never decodes before route parsing. The support team of the vendor was contacted early about this disclosure. Unfortunately, they responded just with profanity.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Rare
obscure small-footprint Chinese open-source CMS, no enterprise deployment
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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

Priority Score

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

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

More in Qcms

View all
CVE-2018-14978 HIGH POC
8.8 Aug 06

An issue was discovered in QCMS 3.0.1. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, no au

CVE-2020-10578 HIGH POC
7.5 Mar 14

An arbitrary file read vulnerability exists in system/controller/backend/template.php in QCMS v3.0.1. Rated high severit

CVE-2018-14977 MEDIUM POC
6.1 Aug 06

An issue was discovered in QCMS 3.0.1. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no

CVE-2018-8070 MEDIUM POC
5.4 Mar 12

QCMS version 3.0 has XSS via the title parameter to the /guest/index.html URI. Rated medium severity (CVSS 5.4), this vu

CVE-2018-8069 MEDIUM POC
5.4 Mar 12

QCMS version 3.0 has XSS via the webname parameter to the /backend/system.html URI. Rated medium severity (CVSS 5.4), th

CVE-2018-14976 MEDIUM POC
4.8 Aug 06

An issue was discovered in QCMS 3.0.1. Rated medium severity (CVSS 4.8), this vulnerability is remotely exploitable, low

CVE-2018-14975 MEDIUM POC
4.8 Aug 06

An issue was discovered in QCMS 3.0.1. Rated medium severity (CVSS 4.8), this vulnerability is remotely exploitable, low

CVE-2018-14974 MEDIUM POC
4.8 Aug 06

An issue was discovered in QCMS 3.0.1. Rated medium severity (CVSS 4.8), this vulnerability is remotely exploitable, low

CVE-2018-14973 MEDIUM POC
4.8 Aug 06

An issue was discovered in QCMS 3.0.1. Rated medium severity (CVSS 4.8), this vulnerability is remotely exploitable, low

CVE-2018-14972 MEDIUM POC
4.8 Aug 06

An issue was discovered in QCMS 3.0.1. Rated medium severity (CVSS 4.8), this vulnerability is remotely exploitable, low

CVE-2018-14971 MEDIUM POC
4.8 Aug 06

An issue was discovered in QCMS 3.0.1. Rated medium severity (CVSS 4.8), this vulnerability is remotely exploitable, low

CVE-2018-14970 MEDIUM POC
4.8 Aug 06

An issue was discovered in QCMS 3.0.1. Rated medium severity (CVSS 4.8), this vulnerability is remotely exploitable, low

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