Finding F-02
Customers can read and change other customers' orders
- Summary
- The order API checked login status but omitted ownership checks on reads and delivery-address updates. A customer could enumerate sequential order identifiers and access orders belonging to other customers.
- Evidence
- Synthetic capture using customer A's session: PATCH https://api.yourstore.com/v1/orders/48216 HTTP/1.1; body {"deliveryAddressId":"addr-A2"} → HTTP/1.1 200 OK. Customer B owned the order; a subsequent GET confirmed the changed address and exposed B's contact details.
- Fix
- Enforce object ownership and store boundaries before every order read or mutation. Verify address ownership separately. Add negative authorisation tests across customer accounts, stores and roles; unpredictable identifiers alone are insufficient.
- Retest
- Fixed Cross-customer reads and updates returned 403; legitimate ownership checks passed across both customer accounts and store assignments.


