CVE-2026-59236
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedAuthorization Bypass Through User-Controlled Key (CWE-639) in the Excel import handlers (CustomerImport, LeadImport, ProductImport) in Roskus Prospero Flow CRM before 5.14.0 allows a remote, authenticated user of any role or company to create customer, lead, and product records inside another company's tenant via a spreadsheet whose company_id column points to the victim tenant, uploaded to POST /customer/import/excel/save, which maps company_id directly from the file and performs no check that it matches the authenticated user's company.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceThe Excel import handlers (CustomerImport, LeadImport, ProductImport) in Roskus Prospero Flow CRM before 5.14.0 accept a company_id value directly from uploaded spreadsheet files without validating it against the authenticated user's tenant. This allows any authenticated user to create records in other companies' tenants by specifying a different company_id in the uploaded file.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- Authentication
- X
- User interaction
- None
- Scope
- X
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify the installed version of Roskus Prospero Flow CRMLocate the version file, composer.json, or application metadata that indicates the current software version. Common locations include a version.php file, composer.lock, or the application's about/admin page.Affected if The installed version is below 5.14.0, as versions prior to this release contain the vulnerable Excel import handlers.
-
Verify the Excel import handlers exist in the codebaseSearch for the CustomerImport, LeadImport, and ProductImport PHP classes or handler files within the application's source code, typically under src/Import or similar directories.Affected if These import handler classes are present and active in the application.
-
Confirm the import handlers accept company_id from uploaded filesReview the code of the Excel import handlers to determine if the company_id column from the uploaded spreadsheet is being processed and used directly without validation against the authenticated user's session.Affected if The import handlers read and use a company_id value directly from the uploaded file without cross-referencing it against the current user's tenant or session context.
-
Check if authenticated users can access the import functionalityVerify that authenticated users have access to the Excel import feature for customers, leads, or products through the web interface or API endpoints.Affected if The import functionality is accessible to authenticated users without additional tenant verification.
You are affected if you are running Roskus Prospero Flow CRM version below 5.14.0 and the Excel import handlers (CustomerImport, LeadImport, ProductImport) are accessible to authenticated users, as they allow tenant isolation bypass via company_id in uploaded files.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedImplement authorization checks in all Excel import handlers to verify that the company_id in the uploaded file matches the authenticated user's company context, or ignore the file-provided company_id entirely and use the session-bound company instead.
5.14.0
- 1. Identify the current installed version of Roskus Prospero Flow CRM by checking the application version or codebase
- 2. If the current version is below 5.14.0, plan for an upgrade to version 5.14.0 or later
- 3. Before upgrading, backup the current database and application files
- 4. Perform the upgrade following the project's standard upgrade procedure
- 5. After upgrade, verify that the Excel import functionality still works correctly
- 6. Confirm that the company_id column in imported spreadsheets is now properly validated against the authenticated user's company
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation3.0 h
- Implementation6.0 h
- Testing4.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $4,224.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-59236 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-59236 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data