Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege PublicCMS user
-
DeliverySend refund request to TradeRefundService.updateAmound
-
ExploitSubstitute another user's refundId value
-
ExecutionBypass authorization on trade refund
-
ImpactRead or tamper with other users' refund records
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 an authenticated low-privilege account on the target PublicCMS instance (PR:L) and that the publiccms-trade component with its refund functionality is deployed and in use - this is an optional e-commerce/trade module, not core CMS content serving, so instances without trade/refund workflows are not exposed. Exploitation itself needs no user interaction (UI:N) and no special timing or configuration beyond reaching the refund update endpoint and supplying a refundId belonging to another account. The limiting factors are therefore the authentication requirement and the need for the trade module to be active; there is no fixed version listed in the available evidence and the vendor did not respond, so no vendor mitigation is stated. |
| Impact | This is a medium-severity issue whose signals are internally consistent and point to moderate, not urgent, real-world risk. The CVSS 4.0 base score is 5.3 with vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L: network-reachable and low-complexity, but requiring low-privilege authentication (PR:L) and yielding only LOW confidentiality, integrity and availability impact to the vulnerable system with no scope/subsequent-system effect. This matches CWE-639 (Authorization Bypass Through User-Controlled Key / IDOR): an authenticated user manipulates the refundId key to reach refund records they should not control, rather than achieving full compromise. Exploit maturity is E:P (proof-of-concept), and the vuln.today decision label is 'this_month' - not act_now or emergency - so the decision framework itself treats this as a schedulable fix, not a drop-everything event. There is NO CISA KEV listing and NO EPSS score in the provided data, so widespread or confirmed active exploitation cannot be asserted; absence of those feeds is a data gap, not evidence of safety. The one meaningful amplifier is that the vendor (Sanluan) was contacted but did not respond, meaning no coordinated fix is signalled and a public disclosure exists with no vendor patch to pair against it. Net: a genuine but bounded authorization-bypass bug - prioritize within a normal monthly patch cycle for PublicCMS trade deployments, not as an emergency. |
| Exploit ScenarioDerived | An attacker who holds any valid low-privilege account on a PublicCMS instance with the trade/refund component in use sends a crafted request to the refund update flow and substitutes another user's refundId value. Because the server does not verify that the refundId belongs to the caller, the request bypasses authorization and lets the attacker read or alter refund records that are not theirs. A public proof-of-concept is referenced via VulDB, and the low attack complexity (AC:L) means no special timing or environmental conditions are needed once authenticated. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
Authorization bypass in Sanluan PublicCMS 4.x, 5.x and 6.x allows an authenticated low-privilege user to manipulate the refundId argument handled by TradeRefundService.updateAmound and operate on refund records that belong to other accounts. Only deployments that include and actively use the optional publiccms-trade e-commerce/refund module are exposed; core CMS content-serving instances are not affected by this code path. Severity is medium (CVSS 4.0 base 5.3, assessed CVSS 3.1 5.3) and the disclosure states the exploit has been made public, so a public PoC/exploit reference exists, though it is not independently verified as working exploit code. There is no CISA KEV entry, no fixed version is listed in the available evidence, and the vendor did not respond to the report, so no vendor mitigation is stated.
RemediationAI
No vendor-released patch identified at time of analysis: the disclosure lists no fixed version, the vendor did not respond, and the only references are the VulDB entries (https://vuldb.com/vuln/429652 and https://vuldb.com/cve/CVE-2026-120319), so remediation must be compensating. The most direct control is to disable or remove the publiccms-trade module, or at minimum take its refund endpoints out of service, on any PublicCMS instance that does not genuinely need e-commerce refund processing; the trade-off is that refund and order-management functionality stops working until the code is fixed. Where the module must stay live, restrict reach to the refund update route at the reverse proxy or WAF so that only trusted, appropriately privileged roles can call it, accepting that IP- or path-based rules can false-positive against legitimate back-office refund operations and are bypassable if the application is reachable by other paths. Because the root cause is a missing ownership check on the refundId parameter, a code-level fix requires treating refundId as untrusted and verifying that the record belongs to the requesting principal before the amount update executes; this must be maintained as a local fork or patch across PublicCMS upgrades until an upstream fix ships. Additionally, audit existing refund records and application logs for cross-account modifications of refund amounts to determine whether the exposed code path has already been exercised, and review accounts holding low-privilege trade permissions to minimise the population that can reach the endpoint.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-639 (authorization bypass through a user-controlled key), a classic insecure direct object reference pattern in Java code. PublicCMS is a Java-based content management system whose trade functionality lives in a Maven module, publiccms-parent/publiccms-trade, with the affected method implemented in com/publiccms/logic/service/trade/TradeRefundService.java. The method consumes a refundId supplied by the caller and performs a refund/amount update against the corresponding record without adequately verifying that the requesting principal owns that refund; a low-privilege authenticated user can therefore substitute another account's identifier and have the operation applied to a record they should not control. The CPE entry cpe:2.3:a:sanluan:publiccms:*:*:*:*:*:*:*:* is a wildcard covering the 4.x/5.x/6.x branches named in the disclosure. The CVSS 4.0 vector supplied by the reporter carries E:P (proof-of-concept exploit exists), consistent with the disclosure statement that exploit details were made public; the remaining metrics (AV:N/AC:L/AT:N/PR:L/UI:N) describe network reachability with a low-privilege account and no user interaction, but the sources do not describe any further trigger mechanics, race condition or timing dependency. Impact is bounded to low confidentiality, integrity and availability effects on the trade data (VC:L/VI:L/VA:L) with no scope change, matching the independent assessment.
Know when Publiccms 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:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Network-reachable IDOR requiring a low-privilege authenticated account (PR:L) with no user interaction; manipulating refundId grants limited read/modify over refund records, so C/I/A are each Low.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was found in Sanluan PublicCMS 4.x/5.x/6.x. This affects the function TradeRefundService.updateAmound of the file publiccms-parent/publiccms-trade/src/main/java/com/publiccms/logic/service/trade/TradeRefundService.java of the component publiccms-trade. Performing a manipulation of the argument refundId results in authorization bypass. The attack can be initiated remotely. The exploit has been made public and could be used. The vendor was contacted early about this disclosure but did not respond in any way.
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.
An arbitrary file upload vulnerability in the component /cms/CmsWebFileAdminController.java of PublicCMS v4.0.202406 all
Deserialization of Untrusted Data in PublicCMS v.4.0.202302.e allows a remote attacker to execute arbitrary code via a c
An issue in the BAT file parameters of PublicCMS v4.0 allows attackers to execute arbitrary code. Rated critical severit
A remote code execution issue was discovered in PublicCMS V4.0.20180210. Rated critical severity (CVSS 9.8), this vulner
PublicCMS V5.202506.b is vulnerable to SSRF. in the chat interface of SimpleAiAdminController.
PublicCMS V5.202506.b is vulnerable to Cross Site Request Forgery (CSRF) in the CkEditorAdminController.
PublicCMS v4.0.202302.e was discovered to contain a remote commande execution (RCE) vulnerability via the cmdarray param
An arbitrary file upload vulnerability in the component /admin/cmsTemplate/doUpload of PublicCMS v4.0.202302.e allows at
An arbitrary file upload vulnerability in the component /admin/cmsTemplate/savePlaceMetaData of Public CMS v.4.0.202302.
An arbitrary file upload vulnerability in the component /admin/cmsTemplate/savePlace of PublicCMS v4.0.202302.e allows a
An arbitrary file upload vulnerability in the component /admin/cmsTemplate/save of PublicCMS v4.0.202302.e allows attack
An arbitrary file upload vulnerability in the component /admin/cmsWebFile/save of PublicCMS v4.0.202302.e allows attacke
EUVD-2026-114922
GHSA-2xhq-9mxg-mc67
NVD
CVE.org
EPSS
VulDB
Exploit-DB