Skip to main content

PublicCMS CVE-2026-121583

LOW
Improper Authorization (CWE-285)
2026-11-04 cna@vuldb.com
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-privileged trade user
  2. Exploit
    Send pendingRefund request with forged userId
  3. Execution
    Bypass per-user authorization check
  4. Impact
    Read or alter another user's refund record

Vulnerability Assessment

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

1 technique across 1 tactic: Defense Evasion

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 low-privileged account (PR:L) on a PublicCMS 5 instance where the trade/payment module is deployed and the web trade payment controller is reachable. The specific trigger is manipulation of the userId argument passed to TradePaymentService.pendingRefund, causing the function to operate on another user's refund context without verifying ownership. Limiting factors: exploitation is gated by authentication, by the presence/enablement of the trade payment feature, and by version - the vulnerable web trade payment controller was removed starting with the 202608 series (commit 7329437), so instances at or beyond that series are not affected.

Impact

All severity signals point to a LOW real-world priority. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L) scores 2.1, and the vuln.today Decision label is 'monitor' - the lowest actionable tier. The PR:L metric confirms exploitation is authenticated: an attacker needs a valid low-privileged account on the PublicCMS trade module before manipulating the userId argument. Impact is bounded to Low across confidentiality and integrity, consistent with an IDOR-style authorization bypass (CWE-285) over trade/refund records rather than system compromise. The E:P threat metric and the VulDB statement that an exploit is public indicate a proof-of-concept exists, but this is NOT in CISA KEV and no EPSS score is provided, so there is no evidence of widespread or automated exploitation. No signals conflict; they consistently describe a low-impact, authentication-gated flaw in a niche product. Note one metadata caveat: the input Tags say 'Authentication Bypass,' but CWE-285 and the description ('authorization bypass') describe an AUTHORIZATION bypass - verify classification with the source, as it changes the control that mitigates it.

Exploit ScenarioDerived

A registered low-privileged user of a PublicCMS 5 deployment running the trade/payment module sends a crafted request to the TradePaymentService.pendingRefund function, substituting another account's value for the userId argument. Because the function does not verify that the caller owns the referenced record (CWE-285), the attacker reads or acts on another user's pending-refund data. A public PoC reference is cited by VulDB, and the low attack complexity (AC:L) means the manipulation is a simple parameter change, though a valid authenticated session is required.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet

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

Alert me

AnalysisAIv1 – Nov 04, 2026

Authorization bypass in Sanluan PublicCMS 5's trade payment module lets an authenticated low-privileged user supply an arbitrary userId to TradePaymentService.pendingRefund and act on another user's refund records without any ownership check. Exposure is limited to deployments running a release before the 202608 series with the trade payment feature deployed and the web trade payment controller reachable, since that controller was removed in commit 7329437. VulDB reports a public proof-of-concept reference and the CVSS 4.0 vector carries E:P, but there is no confirmed active exploitation (not in CISA KEV) and the vendor-linked priority label is monitor.

RemediationAI

Move to a PublicCMS release from the 202608 series or later, which removes the vulnerable web trade payment controller (commit 7329437) and is the only complete fix described in the available data; no back-ported patch version is listed for older branches, so 202608-or-later should be treated as the target. If upgrading cannot be done immediately, disable the trade/payment module so TradePaymentService.pendingRefund is not reachable, and restrict access to the web trade payment controller endpoints to trusted administrative roles; both measures reduce exposure but leave the underlying authorization logic in place for any caller that can still reach it, and disabling the module removes trade payment functionality for legitimate users. Track https://vuldb.com/vuln/430428 and https://vuldb.com/vuln/430428/cti for updated fix information, noting the current priority label is monitor with no confirmed active exploitation.

Affected ProductsAI

Sanluan PublicCMS 5 releases that bundle the publiccms-trade module and expose the web trade payment controller, i.e. builds prior to the 202608 series; the affected component is publiccms-parent/publiccms-trade, specifically com.publiccms.logic.service.trade.TradePaymentService.pendingRefund. Releases from the 202608 series onward are not affected because commit 7329437 removed the controller. No CPE identifiers were supplied in the intelligence feed; the available vendor references are the VulDB entry https://vuldb.com/cve/CVE-2026-121583, the submission record https://vuldb.com/submit/1020265, and the advisory pages https://vuldb.com/vuln/430428 and https://vuldb.com/vuln/430428/cti.

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-285 (Improper Authorization) in the Java-based Sanluan PublicCMS content management system, inside the publiccms-trade module at publiccms-parent/publiccms-trade/src/main/java/com/publiccms/logic/service/trade/TradePaymentService.java. The pendingRefund function accepts a userId argument and, per the assessment, acts on another user's refund context without verifying that the caller owns that identity, so a low-privileged authenticated account can reach records belonging to other users through the web trade payment controller. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N with low confidentiality, integrity and availability impact, E:P) maps closely to the assessed CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N: network reachable, no user interaction, but gated by a valid low-privileged login and by the presence of the trade payment feature. The defect is effectively retired in newer code rather than patched in place, because commit 7329437 removed the web trade payment controller starting with the 202608 series; the precise internal trigger beyond manipulation of the userId argument is not described in the available sources.

Know when Java 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 LOW
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 5.4 MEDIUM

Remote, low-complexity parameter manipulation (AV:N/AC:L) but requires an authenticated low-privileged account (PR:L); impact is limited to another user's refund data (C:L/I:L), with no availability effect.

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 (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

DescriptionCVE.org

A vulnerability was identified in Sanluan PublicCMS 5. This affects the function TradePaymentService.pendingRefund of the file publiccms-parent/publiccms-trade/src/main/java/com/publiccms/logic/service/trade/TradePaymentService.java. The manipulation of the argument userId leads to authorization bypass. The attack is possible to be carried out remotely. The exploit is publicly available and might be used. The web trade payment controller was removed starting with the 202608 series (commit 7329437).

Threat Intelligence Overview

Prevalence
Low
niche open-source Chinese CMS, limited enterprise deployment footprint
Data Quality
3 sources
Confidence: Low

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 N/A
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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

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.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

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