Recently, our team found a vulnerability causing the Arbitrary AllPrice Update in the latest version of the project.
The vulnerability logic is present in the file: https://gitee.com/old-peanut/wechat_applet__open_source/blob/new/platform-api/src/main/java/com/platform/service/ApiOrderService.java#L640.
The developer failed to check the privilege of the accessor when updating status via com.platform.dao.ApiOrderMapper.queryByAllOrderId()
, while the request of path prepay
is also unauthorized (i.e., https://gitee.com/old-peanut/wechat_applet__open_source/blob/new/platform-api/src/main/java/com/platform/api/ApiPayController.java#L69), which means an attacker can achieve Arbitrary AllPrice Update.
To address this vulnerability, we strongly advise that developers implement access control policies that limit API access to admin users or the owner.