We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recently, our team found a vulnerability causing the free payment of orders in the latest version of the project.
The vulnerability logic is present in the file: https://github.com/macrozheng/mall/blob/master/mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPortalOrderServiceImpl.java#L246
The issue arises from the lack of verification of the user's privilege level when updating the order status using orderMapper.updateByPrimaryKeySelective(). Additionally, access to the corresponding callback API /order/paySuccess (located at: https://github.com/macrozheng/mall/blob/master/mall-portal/src/main/java/com/macro/mall/portal/controller/OmsPortalOrderController.java#L51) has not been restricted to the normal user. As a result, attackers can manipulate the param orderId and change the payment status of unpaid orders to achieve free payment.
orderMapper.updateByPrimaryKeySelective()
/order/paySuccess
orderId
To address this vulnerability, we recommend that developers implement access control policies to restrict the modification of order status.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Recently, our team found a vulnerability causing the free payment of orders in the latest version of the project.
The vulnerability logic is present in the file:
https://github.com/macrozheng/mall/blob/master/mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPortalOrderServiceImpl.java#L246
The issue arises from the lack of verification of the user's privilege level when updating the order status using
orderMapper.updateByPrimaryKeySelective()
. Additionally, access to the corresponding callback API/order/paySuccess
(located at: https://github.com/macrozheng/mall/blob/master/mall-portal/src/main/java/com/macro/mall/portal/controller/OmsPortalOrderController.java#L51) has not been restricted to the normal user. As a result, attackers can manipulate the paramorderId
and change the payment status of unpaid orders to achieve free payment.To address this vulnerability, we recommend that developers implement access control policies to restrict the modification of order status.
The text was updated successfully, but these errors were encountered: