Description
BizSpring Shop through commit cf22d39daaf1 contains a payment verification bypass vulnerability that allows authenticated buyers to mark orders paid by calling the PaymentController.testPostPay handler. Attackers can generate a payment log via /member/payment/load and request /member/payment/test_post_pay_{paymentLogSn} to obtain goods without paying or settle other members' orders.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
BizSpring BizSpring Shop
Default version status: unaffected
0 to ≤ cf22d39daaf17f430d8fc1fb698a2f6e515e1808affected
pkg:github/BizSpringSource/bizspring-shop-opensourceBizSpring BizSpring Java Mall
Default version status: unaffected
0 to ≤ 369e88c5cda36ddcea56742c335ee1bfe50e8156affected
pkg:github/bizspring-open/BizSpring-Java-MallReferences
- https://hackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/bizspring-shop-test-pay-endpoint-order-settlement-bypass ↗
- https://hackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/bizspring-java-mall-payment-forgery-order-idor ↗
- https://github.com/BizSpringSource/bizspring-shop-opensource/blob/cf22d39daaf17f430d8fc1fb698a2f6e515e1808/bizspring-open/bizspring-business/bizspring-order/src/main/java/cn/bizspring/cloud/order/admin/controller/shop/PaymentController.java#L76-L84 ↗
- https://github.com/BizSpringSource/bizspring-shop-opensource/blob/cf22d39daaf17f430d8fc1fb698a2f6e515e1808/bizspring-open/bizspring-business/bizspring-order/src/main/java/cn/bizspring/cloud/order/admin/service/impl/PaymentLogServiceImpl.java#L143-L169 ↗
- https://github.com/bizspring-open/BizSpring-Java-Mall/blob/369e88c5cda36ddcea56742c335ee1bfe50e8156/bizspring-java/bizspring-business/bizspring-order/src/main/java/cn/bizspring/cloud/order/admin/controller/shop/PaymentController.java#L76-L84 ↗
- https://github.com/BizSpringSource/bizspring-shop-opensource ↗
- https://github.com/bizspring-open/BizSpring-Java-Mall ↗
- https://www.vulncheck.com/advisories/bizspring-shop-through-commit-cf22d39daaf1-payment-bypass-via-test-post-pay-endpoint ↗