Skip to main content

Prospero Flow CRM CVE-2026-78365

| EUVDEUVD-2026-64839 CRITICAL
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-08-24 Secur0 GHSA-4hh4-jwxc-xpmf
9.3
CVSS 4.0 · Vendor: Secur0
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege tenant account
  2. Delivery
    Enumerate victim supplier ID
  3. Exploit
    Send PUT /api/supplier/{id} with attacker company_id
  4. Execution
    Bypass missing tenant check (mass assignment)
  5. Persist
    Read and overwrite cross-tenant supplier record
  6. Impact
    Reassign supplier ownership to attacker company

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

Requires a valid authenticated session on the platform (the fix logic depends on Auth::user()->company_id, and the description says 'any authenticated user'), but no elevated role or special configuration in the affected 4.0.0-5.3.1 versions - the vulnerable endpoint is the default supplier API. The concrete prerequisite is issuing a PUT (or PATCH) to /api/supplier/{id} with a target supplier ID from another tenant and a company_id value in the request body. Limiting factors: the attacker must have a working account and must know or enumerate a valid supplier {id}; there is no user interaction and no non-default configuration needed. Note the vendor CVSS marks PR:N (unauthenticated), which conflicts with the 'authenticated user' description - treat authentication as required per the source evidence.

Impact

Signals are strong but partly conflicting. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H) scores 9.3 and encodes PR:N (unauthenticated), yet the description explicitly states 'any authenticated user' - this is a material contradiction; the source diff (which relies on Auth::user()->company_id) confirms an authenticated session is required, so the realistic privilege level is PR:L, not PR:N. Attack complexity is genuinely low: no special conditions, no user interaction, and the exploit is a single well-formed PUT request that is easily automatable. There is no EPSS score provided, it is not KEV-listed, and no public POC is identified, so this is not confirmed as actively exploited - but the fix commit is public, making an exploit trivial to derive. Net: a real, high-priority tenant-isolation break for any organization running the affected versions, tempered mainly by the requirement for a valid low-privilege account and the product's limited deployment footprint.

Exploit ScenarioDerived

An attacker registers or already holds a low-privilege account in one tenant, enumerates or guesses a supplier ID belonging to a competitor tenant, and sends PUT /api/supplier/{id} with a JSON body containing company_id set to their own company. The server, lacking tenant scoping, updates the victim's supplier record and reassigns it to the attacker's company, exposing and altering another organization's data. No public POC is identified, but the network vector and low complexity (single request, no user interaction) make weaponization straightforward from the published patch diff.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
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 – Aug 24, 2026

Cross-tenant authorization bypass (IDOR/BOLA) in Roskus Prospero Flow CRM 4.0.0 through 5.3.1 lets an authenticated user of one company read, modify, and even hijack supplier records belonging to other companies by sending a PUT to /api/supplier/{id} and supplying an arbitrary company_id in the body. The supplier lookup was not scoped to the caller's tenant and mass-assignment allowed re-parenting a record to the attacker's own company, breaking multi-tenant isolation. A vendor patch exists (5.3.2) and the fix is visible in a public GitHub commit; there is no public exploit identified and it is not on CISA KEV, but the flaw is trivially reproducible from the diff.

RemediationAI

Vendor-released patch: 5.3.2 - upgrade to 5.3.2 or later (a subsequent release is tagged v5.5.3, https://github.com/Roskus/prospero-flow-crm/releases/tag/v5.5.3). The corrective commit is https://github.com/Roskus/prospero-flow-crm/commit/4a52477e6ed66afa436814c80e7bcd68670dd596, which scopes supplier lookups to the caller's company_id, replaces mass-assignment ($request->all()) with validated input, and adds an 'update supplier' authorization check. If you cannot upgrade immediately, apply the same controls as compensating measures: at the application layer, restrict the /api/supplier/{id} PUT/PATCH route so queries are filtered by the authenticated user's company_id and strip company_id from writable fields (guard/fillable) to block re-parenting - note this requires a code change and testing of legitimate supplier edits. As a network/WAF stopgap, monitor or block PUT /api/supplier/* requests whose body contains company_id, accepting that a WAF rule is bypassable and may break legitimate clients that legitimately send that field. Also review supplier audit logs for unexpected company_id changes to detect prior abuse.

Affected VersionsENISA

Prospero Flow CRM 4.0.0 <5.3.2

Affected Packages

euvd prospero_flow_crm fix: 5.3.2

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 application is a PHP/Laravel-based multi-tenant CRM (cpe:2.3:a:roskus:prospero_flow_crm). The root cause is CWE-639, Authorization Bypass Through User-Controlled Key: the SupplierUpdateController resolved the record with Supplier::find($id) using only the client-supplied {id}, never constraining it to the authenticated user's company_id, so any valid object ID from any tenant resolved. Compounding this, the update used $request->all(), a classic Laravel mass-assignment sink, which let the attacker write the company_id column directly and reassign ownership. The fix scopes the query with Supplier::where('company_id', Auth::user()->company_id)->find($id), switches to $request->validated() to whitelist fields, and adds a per-method authorization policy ('update supplier' ability) in SupplierRequest, layering both object-level and function-level access control.

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 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Requires a valid low-privilege authenticated account (PR:L, contradicting vendor PR:N), single network request with no user interaction; enables cross-tenant read and modification (C:H/I:H), no availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/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
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Authorization Bypass Through User-Controlled Key in the supplier API in Roskus Prospero Flow CRM 4.0.0 through 5.3.1 allows any authenticated user to read and modify another company's supplier record, and to reassign it to their own company, via a PUT request to /api/supplier/{id} setting company_id in the body.

Executive ViewAI

Why It Matters

Roskus Prospero Flow CRM versions 4.0.0 through 5.3.1 contain a critical cross-tenant authorization flaw that allows any authenticated user to view, modify, and redirect supplier records belonging to competing organizations without additional authentication. This breaks fundamental multi-tenant isolation, exposing confidential supplier relationships and business information across customer boundaries and creating significant data breach and competitive intelligence risks.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Low
niche open-source PHP CRM, small self-hosted deployment footprint
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
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-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-59237 MEDIUM
6.9 Jul 16

Cross-tenant IDOR in Roskus Prospero Flow CRM before 5.5.3 allows any authenticated user to read, modify, and delete ord

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