Impact
Any signed-in user can download another tenant’s invoices, including customer names, addresses, and payment amounts, by changing the invoice ID in the request.
Remediation
Look up invoices by the tenant in the user’s session and return 404 for any invoice outside it. Add an automated authorization test that requests another tenant’s invoice and expects a 404.
Evidence
GET /v2/invoices/48213/export HTTP/1.1Host: api.example.comAuthorization: Bearer <tenant A user token> HTTP/1.1 200 OKContent-Type: application/pdfX-Tenant-Id: 1187 (invoice belongs to tenant B)
Example of our finding format. The asset, IDs, and values are placeholders, not client data.