Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid CRM user credentials
-
DeliveryAuthenticate to target instance
-
ExploitSend GET /api/transaction/{id} with arbitrary integer
-
ExecutionObserve unscoped transaction record returned
-
PersistIncrement ID sequentially
-
ImpactHarvest cross-company financial transaction data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | The attacker must hold a valid authenticated user session on the target Prospero Flow CRM instance running versions 5.0.0-5.3.5; no elevated role is required beyond basic login. The vulnerability is most impactful on multi-tenant deployments where multiple companies share one instance - single-tenant deployments expose no cross-company data. No special feature must be enabled and no non-default configuration is required: the /api/transaction/{id} endpoint is part of the standard transaction API. Exploitation is bounded by two factors: (1) a valid user account is required (no unauthenticated exploitation despite the PR:N claim in the supplied CVSS 4.0 vector, which conflicts with the description and should be treated with caution), and (2) transaction IDs must be guessable or enumerable, which is trivial given they are sequential integers. |
| Impact | The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N) scores 8.7 and includes PR:N (no privileges required), which directly conflicts with the CVE description stating exploitation is performed by 'an authenticated user.' This discrepancy is a data quality issue that should be verified with the vendor or NVD - the realistic attack surface is bounded by requiring a valid account on the instance, meaningfully reducing exposure below what PR:N implies. Attack complexity is genuinely low once authenticated: sequential integer enumeration requires no special tooling. Impact is high for multi-tenant deployments where companies share an instance; single-tenant deployments have no cross-company data to expose, reducing practical risk to near zero for that topology. No CISA KEV listing and no confirmed POC code exist; EPSS data was not provided. Overall, real-world priority is medium-high for multi-tenant deployments, low for single-tenant. |
| Exploit ScenarioDerived | An authenticated attacker with any valid low-privilege account on a multi-tenant Prospero Flow CRM instance sends sequential HTTP GET requests to /api/transaction/1, /api/transaction/2, and so on using a standard HTTP client or browser. Because the vulnerable code performs Transaction::find($id) with no company filter, the server returns full transaction records for every company on the instance. No special tooling, elevated privileges, or knowledge of other companies' identifiers beyond the integer range is required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 21, 2026
Cross-tenant transaction data exposure in Roskus Prospero Flow CRM 5.0.0-5.3.5 allows any authenticated user on a shared instance to read financial transaction records belonging to other companies by iterating the integer ID in GET /api/transaction/{id}, which performed no company-scoping and no permission check. Source code analysis of the fix confirms the vulnerable controller called Transaction::find($id) directly against the full dataset, making every transaction on the instance reachable to any valid session. No CISA KEV listing exists and no public exploit code has been identified, though the trivial exploitation pattern (sequential integer enumeration) requires minimal skill.
RemediationAI
Upgrade to Prospero Flow CRM version 5.3.6 or later; the fix is confirmed in commit 980c35ac00e419591a8adc2d1dbcc120ea62e273 and a subsequent release v5.5.3 is available at https://github.com/Roskus/prospero-flow-crm/releases/tag/v5.5.3. The patch introduces both company-scoped Eloquent queries and a FormRequest enforcing the 'read accounting' permission, addressing both the missing ownership check and the missing authorization gate. If immediate upgrade is not possible, restrict network-level access to the /api/transaction/{id} endpoint to only internal or trusted IP ranges - note this will also block legitimate API consumers. Additionally, audit web server or application logs for anomalous sequential GET patterns against that endpoint, which would indicate active enumeration. The Secur0 advisory at https://secur0.com/en/cna/cve-list/cve-2026-77759-idor-missing-authz-prospero-transaction-api provides further context.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-639 (Authorization Bypass Through User-Controlled Key): the TransactionReadController.php in the Laravel-based application resolved transaction records with the Eloquent call Transaction::find($id), where $id is a bare user-supplied integer with no ownership validation. The fix introduces two distinct controls visible in commit 980c35ac: the query is now scoped with ->where('company_id', Auth::user()->company_id) to restrict results to the caller's own company, and a new TransactionReadRequest FormRequest class enforces the 'read accounting' permission via Auth::user()?->can('read accounting'). The affected CPE is cpe:2.3:a:roskus:prospero_flow_crm:*:*:*:*:*:*:*:*. The framework is Laravel/PHP, evidenced by Illuminate\Support\Facades\Auth, Eloquent ORM, and FormRequest patterns throughout the diff.
Know when Prospero Flow Crm gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Description requires an authenticated session (PR:L, not PR:N); impact is confidentiality-only with no integrity or availability effect and no scope change.
Primary rating from Vendor (Secur0).
CVSS VectorVendor: Secur0
DescriptionCVE.org
Authorization Bypass Through User-Controlled Key in the transaction API in Roskus Prospero Flow CRM 5.0.0 through 5.3.5 allows an authenticated user to read the transactions of other companies on the same instance via an incremented identifier in GET /api/transaction/{id}, which is resolved without company scoping and without any permission check.
Executive ViewAI
Roskus Prospero Flow CRM versions 5.0.0-5.3.5 allow any authenticated user on multi-tenant instances to enumerate and read financial transaction records of other companies via sequential API requests. This data isolation failure exposes sensitive customer financial information and creates direct regulatory and legal liability.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Prospero Flow Crm
View allCross-tenant authorization bypass (IDOR/BOLA) in Roskus Prospero Flow CRM 4.0.0 through 5.3.1 lets an authenticated user
Broken function-level authorization in Prospero Flow CRM before 5.5.3 lets any authenticated low-privileged user (e.g. t
Privilege escalation in Roskus Prospero Flow CRM before version 5.2.1 permits any authenticated user - regardless of ass
Cross-tenant IDOR in Roskus Prospero Flow CRM before 5.4.7 allows any authenticated user to read sensitive product recor
Cross-tenant IDOR in Roskus Prospero Flow CRM's ticket management component allows any authenticated user - regardless o
Cross-tenant payroll data exposure in Roskus Prospero Flow CRM before 5.15.10 enables authenticated users holding standa
Cross-tenant IDOR in Prospero Flow CRM before 5.4.8 allows any authenticated user to blindly overwrite contact records b
Cross-tenant record injection in Roskus Prospero Flow CRM before 5.14.0 allows any authenticated user to silently insert
Cross-tenant IDOR in Roskus Prospero Flow CRM before 5.5.3 allows any authenticated user to read, modify, and delete ord
Unauthorized notification deletion in Prospero Flow CRM allows any authenticated user to delete other users' notificatio
Tenant data boundary failure in Roskus Prospero Flow CRM 4.9.1-5.14.0 allows authenticated users holding transaction and
Order confirmation in Roskus Prospero Flow CRM before 5.15.11 can be triggered by an unauthenticated attacker on behalf
EUVD-2026-63906
GHSA-cw49-mhmj-m3xc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB