Skip to main content

PublicCMS CVE-2026-120319

| EUVDEUVD-2026-114922 LOW
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-11-02 VulDB GHSA-2xhq-9mxg-mc67
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege PublicCMS user
  2. Delivery
    Send refund request to TradeRefundService.updateAmound
  3. Exploit
    Substitute another user's refundId value
  4. Execution
    Bypass authorization on trade refund
  5. Impact
    Read 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.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 – 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

PublicCMS 5.*
PublicCMS 4.*
PublicCMS 6.*

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

Vendor (VulDB) PRIMARY 2.1 MEDIUM
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
vuln.today AI 6.3 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/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
Low
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
Severity Changed
Nov 02, 2026 - 02:22 NVD
MEDIUM LOW
CVSS changed
Nov 02, 2026 - 02:22 NVD
5.3 (MEDIUM) 2.1 (LOW)

DescriptionCVE.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

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Low
niche open-source Java CMS, limited and largely regional enterprise footprint
Data Quality
4 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 LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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

10
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
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.

CVE-2025-25361 CRITICAL POC
9.8 Mar 06

An arbitrary file upload vulnerability in the component /cms/CmsWebFileAdminController.java of PublicCMS v4.0.202406 all

CVE-2023-46990 CRITICAL POC
9.8 Nov 20

Deserialization of Untrusted Data in PublicCMS v.4.0.202302.e allows a remote attacker to execute arbitrary code via a c

CVE-2021-40881 CRITICAL POC
9.8 Sep 15

An issue in the BAT file parameters of PublicCMS v4.0 allows attackers to execute arbitrary code. Rated critical severit

CVE-2018-12914 CRITICAL POC
9.8 Jun 27

A remote code execution issue was discovered in PublicCMS V4.0.20180210. Rated critical severity (CVSS 9.8), this vulner

CVE-2025-65836 CRITICAL POC
9.1 Dec 01

PublicCMS V5.202506.b is vulnerable to SSRF. in the chat interface of SimpleAiAdminController.

CVE-2025-65840 HIGH POC
8.8 Dec 01

PublicCMS V5.202506.b is vulnerable to Cross Site Request Forgery (CSRF) in the CkEditorAdminController.

CVE-2024-40552 HIGH POC
8.8 Jul 12

PublicCMS v4.0.202302.e was discovered to contain a remote commande execution (RCE) vulnerability via the cmdarray param

CVE-2024-40551 HIGH POC
8.8 Jul 12

An arbitrary file upload vulnerability in the component /admin/cmsTemplate/doUpload of PublicCMS v4.0.202302.e allows at

CVE-2024-40550 HIGH POC
8.8 Jul 12

An arbitrary file upload vulnerability in the component /admin/cmsTemplate/savePlaceMetaData of Public CMS v.4.0.202302.

CVE-2024-40549 HIGH POC
8.8 Jul 12

An arbitrary file upload vulnerability in the component /admin/cmsTemplate/savePlace of PublicCMS v4.0.202302.e allows a

CVE-2024-40548 HIGH POC
8.8 Jul 12

An arbitrary file upload vulnerability in the component /admin/cmsTemplate/save of PublicCMS v4.0.202302.e allows attack

CVE-2024-40546 HIGH POC
8.8 Jul 12

An arbitrary file upload vulnerability in the component /admin/cmsWebFile/save of PublicCMS v4.0.202302.e allows attacke

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