invoice = invoices.find(params.id)
return invoiceThe lookup trusts a client-controlled identifier after confirming only that the caller is logged in.
Evaluate the executive decision, technical proof, remediation path, and re-test record before choosing a provider. Every system, account, identifier, and finding below is fictional and exists only to demonstrate the reporting standard.
Leadership needs decisions. Engineering needs exact reproduction. Both should trace back to the same verified observation.
A standard user in one controlled tenant can retrieve an invoice belonging to another controlled tenant by changing an object identifier. The server confirms authentication but does not enforce object ownership.
GET /api/v1/invoices/{id}GET /api/v1/invoices/inv_test_b HTTP/1.1
Host: app.example.test
Authorization: Bearer <tenant_a_test_session>
Accept: application/json
{
"id": "inv_test_b",
"tenant_id": "ten_test_b",
"status": "paid",
"total": 42000
}
user.a@tenant-a.example.test.inv_test_b, owned by controlled Tenant B.invoice = invoices.find(params.id)
return invoiceThe lookup trusts a client-controlled identifier after confirming only that the caller is logged in.
invoice = currentTenant.invoices.find(params.id)
authorize(user, "read", invoice)
return invoiceResolve the object inside the authorized tenant boundary and enforce permission at the data-access layer.
Tenant A session retrieved controlled Tenant B invoice.
Object lookup constrained to the authenticated tenant.
Original request and adjacent controlled variants denied.
| Test | Expected | Observed | Status |
|---|---|---|---|
| Original cross-tenant read | Denied | 404 | Fixed |
| Same-tenant read | Allowed | 200 | Pass |
| Cross-tenant export | Denied | 404 | Fixed |
| Unrelated billing routes | Out of re-test scope | Not tested | Limited |
The PDF includes engagement metadata, controlled reproduction accounts, methodology, finding summaries, detailed evidence, risk context, and bounded re-test terms.
Map surfaces, roles, tenant boundaries, authentication, integrations, timing, and evidence needs in the guided scope planner.