CVE-2026-121583: Sanluan PublicCMS TradePaymentService.java TradePaymentService.pendingRefund authorization

Published Nov 3, 2026
·
Updated

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

Event History

Nov 3, 2026
CVE Published
via MITRE·11:15 PM
Data Sourced
via MITRE·11:15 PM
DescriptionSeverityWeakness
Nov 4, 2026
Data Sourced
via NVD·12:17 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What access does an attacker need to exploit this issue?

The attack is remote and requires low-privileged access. No user interaction is required, and exploitation involves manipulating the userId argument passed to the pendingRefund function.

2

Which deployments are most exposed?

PublicCMS 5 deployments that expose the web trade payment functionality are affected by the vulnerable code path. The data does not state whether this functionality is enabled by default.

3

What can be done if the affected code cannot be patched immediately?

Restrict access for low-privileged users to the web trade payment functionality and review authorization around refund operations. The web trade payment controller was removed beginning with the 202608 series in commit 7329437.

4

How can I determine whether my instance still contains the affected path?

Check whether the deployment includes TradePaymentService.pendingRefund and the web trade payment controller. Deployments based on the 202608 series or later can also be checked for commit 7329437, which removed that controller.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203