Auth bypass in Roskus Prospero Flow Crm
CVE-2026-59235
Missing Authorization (CWE-862) in BankAccountListController (app/Http/Controllers/Api/BankAccount/BankAccountListController.php), exposed at GET /api/bank-account, in Prospero Flow CRM <5.5.3, which allows a remote, authenticated attacker holding a low-privileged role (e.g. the "User"/"Usuario" role) to read arbitrary bank account records belonging to their company by sending an authenticated request to the endpoint with a valid bearer token, because the API route is protected only by the auth:api middleware and carries no permission gate, unlike the equivalent web route, which enforces can('read bank'), and the handler resolves records with Account::where('company_id', Auth::user()->company_id)->get(), performing only company scoping and no role or permission check before returning the data. This results in the unauthorized disclosure of sensitive banking information (e.g. IBAN, SWIFT/BIC, account identifiers) to users who should not have access to it.
Vulnerability class: IDOR (Insecure Direct Object Reference)
EPSS: 0.007 (48.6th percentile) — read the EPSS interpretation.
Affected products
- Roskus Prospero Flow Crm — versions 4.6.0
Weakness classification (CWE)
References
- 4daa8cea-433a-44bd-9456-53b127fc289a (patch)
- 4daa8cea-433a-44bd-9456-53b127fc289a (release-notes)
- 4daa8cea-433a-44bd-9456-53b127fc289a (technical-description)