| tiêu đề | PublicCMS 5 Improper Access Controls |
|---|
| Mô tả | `TradePaymentController.cancel` accept a `paymentId` from the request and invoke service-layer state changes without verifying that the payment belongs to the authenticated user. Any logged-in user can cancel or initiate a refund for another user's payment if they know the `paymentId`. Poc:1. Use a test account Creating a payment, get `paymentId` ;2. Login as a low-privileged user ,extract `_csrf` token from cookie value: `PUBLICCMS_USER=<userId>_<csrfToken>`;3. The payment status changes (cancelled) even though the attacker does not own the payment.
|
|---|
| Nguồn | ⚠️ https://github.com/sanluan/PublicCMS/issues/108 |
|---|
| Người dùng | AliceS614 (UID 94277) |
|---|
| Đệ trình | 21/01/2026 13:55 (cách đây 5 các tháng) |
|---|
| Kiểm duyệt | 05/02/2026 20:25 (15 days later) |
|---|
| Trạng thái | được chấp nhận |
|---|
| Mục VulDB | 344592 [Sanluan PublicCMS đến 4.0.202506.d/5.202506.d/6.202506.d Trade Payment TradePaymentService.java paid paymentId nâng cao đặc quyền] |
|---|
| điểm | 20 |
|---|