Skip to main content

Prospero Flow CRM EUVDEUVD-2026-44932

| CVE-2026-59237 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-07-16 Secur0 GHSA-x8qq-m4qc-rpj5
6.9
CVSS 4.0 · Vendor: Secur0
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Acquire any valid tenant account
  2. Delivery
    Authenticate via REST API
  3. Exploit
    Enumerate GET /api/order/{id} sequentially
  4. Execution
    Harvest cross-tenant order and customer data
  5. Impact
    Issue PUT/DELETE requests to tamper with or destroy other tenants' orders

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

Exploitation requires a valid, authenticated user session for any tenant account on the Prospero Flow CRM instance - a standard low-privilege user with no administrative rights is sufficient (PR:L). The attacker must have network access to the REST API (typically HTTPS on port 443). All five vulnerable endpoints are affected in their default configuration with no special feature flag or non-standard setup required: GET /api/order/{id}, PUT /api/order/{id}, GET /api/order-item/{id}, PUT /api/order-item/{id}, and DELETE /api/order-item/{id}. Exploitation is strictly limited to authenticated sessions - unauthenticated access to these endpoints is not possible, making account acquisition the sole prerequisite. Single-tenant deployments where only one company exists in the database would observe no exploitable cross-tenant impact, though the vulnerability is structurally present.

Impact

A notable discrepancy exists in the provided CVSS 4.0 vector: PR:N (no privileges required) directly contradicts the CVE description, which explicitly states exploitation requires a remote authenticated user. PR:N is treated as a scoring error; PR:L is the correct metric given the authentication prerequisite. Real-world risk is elevated for any multi-tenant deployment: a single malicious or compromised tenant account grants full read/write/delete access to every other company's order data. The low attack complexity (AC:L, sequential integer IDs, standard REST verbs) means any authenticated user can exploit this without specialized tooling. The CVSS 4.0 impact metrics VC:L/VI:L may understate business risk in a CRM context, where order data routinely contains PII, pricing, and commercially sensitive customer information. No KEV listing and no public exploit code identified at time of analysis, but the attack pattern is self-evident from API discovery. SSVC signals suggest: exploitation is plausible (authenticated account obtainable), automatable (sequential ID enumeration is scriptable), and technical impact is partial on the vulnerable system with significant cross-tenant data exposure.

Exploit ScenarioDerived

An attacker registers or compromises any low-privilege user account on a shared Prospero Flow CRM instance, then authenticates and iterates GET /api/order/1 through /api/order/N to harvest every order in the database across all tenants. With targeted order IDs in hand, the attacker issues PUT /api/order/{id} requests to manipulate competitor pricing or delivery details, and DELETE /api/order-item/{id} to silently destroy line items belonging to other companies. No exploit toolkit is required - the attack is executable with curl or any REST client.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 16, 2026

Cross-tenant IDOR in Roskus Prospero Flow CRM before 5.5.3 allows any authenticated user to read, modify, and delete order and order-item records belonging to other companies (tenants) by supplying sequential integer IDs to five REST API endpoints. The root cause is missing company_id scoping in Eloquent ORM queries across all Order and OrderItem controllers, making every tenant's order data globally accessible to any platform user. No public exploit code or CISA KEV entry exists at time of analysis, but exploitation requires only a valid account and standard HTTP iteration - no special tools or expertise needed.

RemediationAI

Upgrade to Prospero Flow CRM version 5.5.3 or later, available at https://github.com/Roskus/prospero-flow-crm/releases/tag/v5.5.3; the remediation commit is https://github.com/Roskus/prospero-flow-crm/commit/9a859c4de3d49674916773d346c60d89ad7febe0 and can be reviewed to confirm scope. If immediate upgrade is not feasible, a compensating control is to restrict access to the /api/order/* and /api/order-item/* endpoint paths at the web server or API gateway layer to explicitly allowlisted IP ranges corresponding to known legitimate API consumers - this eliminates opportunistic enumeration from arbitrary authenticated sessions but will break any API integration operating from dynamic or unlisted IPs. A second compensating control is rate-limiting or anomaly detection on the order API endpoints to flag high-volume sequential ID requests, though this detects rather than prevents exploitation. There is no application-level workaround that preserves full API functionality without applying the patch.

Affected VersionsENISA

Prospero Flow CRM 4.6.0 <5.5.3

Affected Packages

euvd prospero_flow_crm fix: 5.5.3

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

Prospero Flow CRM (CPE: cpe:2.3:a:roskus:prospero_flow_crm:*:*:*:*:*:*:*:*) is a PHP/Laravel SaaS CRM supporting multiple isolated tenants (companies). The affected controllers - OrderReadController, OrderUpdateController, OrderItemReadController, OrderItemUpdateController, and OrderItemDeleteController - resolved records using bare Eloquent calls (Order::find($id) and Item::find($id)) that perform a primary-key lookup with no WHERE clause filtering by the authenticated user's company_id. This is a canonical CWE-639 (Authorization Bypass Through User-Controlled Key) / IDOR flaw: the integer {id} path parameter is entirely user-controlled, and because Laravel's Eloquent find() resolves globally across all tenants, any valid session can address any record in the database. Sequential auto-increment primary keys make enumeration trivial. The fix committed at 9a859c4 adds ->where('company_id', Auth::user()->company_id) to all Order queries and whereHas('order', fn($q) => $q->where('company_id', ...)) for OrderItem relations, restoring tenant isolation at the ORM layer.

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

Vendor (Secur0) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.4 MEDIUM

Requires authenticated low-privilege account (PR:L); REST API over network (AV:N); crosses tenant isolation boundary affecting other companies' data (S:C); no availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Secur0).

CVSS VectorVendor: Secur0

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Authorization Bypass Through User-Controlled Key (CWE-639) in the Order and OrderItem REST API controllers in Roskus Prospero Flow CRM before 5.5.3 allows a remote, authenticated user to read, modify, and delete orders and order items belonging to any other company (tenant) via a sequential numeric {id} supplied to GET /api/order/{id}, PUT /api/order/{id}, GET /api/order-item/{id}, PUT /api/order-item/{id}, or DELETE /api/order-item/{id}, because the controllers resolve records with Order::find($id) / Item::find($id) without scoping by the authenticated user's company.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Low
niche open-source CRM, limited known enterprise footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-78365 CRITICAL
9.3 Aug 24

Cross-tenant authorization bypass (IDOR/BOLA) in Roskus Prospero Flow CRM 4.0.0 through 5.3.1 lets an authenticated user

CVE-2026-59235 HIGH
8.7 Jul 15

Broken function-level authorization in Prospero Flow CRM before 5.5.3 lets any authenticated low-privileged user (e.g. t

CVE-2026-77759 HIGH
8.7 Aug 21

Cross-tenant transaction data exposure in Roskus Prospero Flow CRM 5.0.0-5.3.5 allows any authenticated user on a shared

CVE-2026-59233 HIGH
8.7 Aug 10

Privilege escalation in Roskus Prospero Flow CRM before version 5.2.1 permits any authenticated user - regardless of ass

CVE-2026-19734 HIGH
8.6 Aug 13

Cross-tenant IDOR in Roskus Prospero Flow CRM before 5.4.7 allows any authenticated user to read sensitive product recor

CVE-2026-19539 HIGH
8.6 Aug 11

Cross-tenant IDOR in Roskus Prospero Flow CRM's ticket management component allows any authenticated user - regardless o

CVE-2026-19870 HIGH
8.6 Aug 14

Cross-tenant payroll data exposure in Roskus Prospero Flow CRM before 5.15.10 enables authenticated users holding standa

CVE-2026-19433 HIGH
8.6 Aug 10

Cross-tenant IDOR in Prospero Flow CRM before 5.4.8 allows any authenticated user to blindly overwrite contact records b

CVE-2026-59236 MEDIUM
6.9 Jul 15

Cross-tenant record injection in Roskus Prospero Flow CRM before 5.14.0 allows any authenticated user to silently insert

CVE-2026-59240 MEDIUM
6.9 Jul 27

Unauthorized notification deletion in Prospero Flow CRM allows any authenticated user to delete other users' notificatio

CVE-2026-77780 MEDIUM
5.3 Aug 21

Tenant data boundary failure in Roskus Prospero Flow CRM 4.9.1-5.14.0 allows authenticated users holding transaction and

CVE-2026-82911 MEDIUM
5.1 Sep 04

Order confirmation in Roskus Prospero Flow CRM before 5.15.11 can be triggered by an unauthenticated attacker on behalf

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy