Description
PickMall lilishop through 5.0.0 contains an insecure direct object reference vulnerability that allows authenticated buyers to read other buyers' invoice records because ReceiptServiceImpl.getDetail performs no ownership check. Attackers can supply another buyer's receipt id to GET /buyer/trade/receipt/{id} to obtain invoice titles, taxpayer identification numbers, order numbers, member ids and member names.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| PickMall | lilishop | ≤ 5.0.0 | — |
References
- https://hackmd.io/@hieuPenguinnn/lilishop-buyer-receipt-idor third-party-advisory
- https://github.com/lilishop/lilishop/blob/5aa1c7ef04bb9178d8ddd535c3bbbd38a6fe1ccd/buyer-api/src/main/java/cn/lili/controller/order/ReceiptBuyerController.java#L33-L37 technical-description
- https://github.com/lilishop/lilishop/blob/5aa1c7ef04bb9178d8ddd535c3bbbd38a6fe1ccd/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/ReceiptServiceImpl.java#L40-L43 technical-description
- https://github.com/lilishop/lilishop product
- VulnCheck Advisory: PickMall lilishop through 5.0.0 IDOR via /buyer/trade/receipt/{id} third-party-advisory