Unrestricted upload of file with dangerous type in Prospero Flow CRM product photo allows stored cross-site scripting
Summary
| CVE | CVE-2026-81931 |
|---|---|
| State | PUBLISHED |
| Assigner | Secur0 |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-08-27 20:18:57 UTC |
| Updated | 2026-08-27 20:18:57 UTC |
| Description | Unrestricted Upload of File with Dangerous Type in the product photo upload in Roskus Prospero Flow CRM before 5.16.0 allows an authenticated user holding the create product permission (routine Seller role) to execute arbitrary JavaScript in the application origin. The photo validation rule classifies the file only by its content (magic bytes) and rejects only a fixed list of PHP extensions, while ProductSaveController::save() names the stored file using the client-supplied extension and copies it into the public web root. A file that begins with an image header and carries an HTML extension passes validation, is stored under public/asset/upload/product/, and is served with a text/html content type, turning the upload into first-party stored script execution. |
Risk And Classification
Primary CVSS: v4.0 4.8 MEDIUM from 4daa8cea-433a-44bd-9456-53b127fc289a
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:L/VA:N/SC:N/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
Problem Types: CWE-434 | CWE-434 CWE-434 Unrestricted upload of file with dangerous type
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 4.0 | 4daa8cea-433a-44bd-9456-53b127fc289a | Secondary | 4.8 | MEDIUM | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N/E:X/C... |
| 4.0 | CNA | CVSS | 4.8 | MEDIUM | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N |
CVSS v4.0 Breakdown
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:L/VA:N/SC:N/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
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Roskus | Prospero Flow CRM | affected 5.16.0 semver | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| secur0.com/en/cna/cve-list/cve-2026-81931-unrestricted-upload-product-ph... | 4daa8cea-433a-44bd-9456-53b127fc289a | secur0.com | |
| github.com/Roskus/prospero-flow-crm/commit/71b20e1a37f4381d1b8b0a6933a94... | 4daa8cea-433a-44bd-9456-53b127fc289a | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: Adrián García López (en)
CNA: Darío Rivas Quero (en)
CNA: Secur0 CNA (en)
CNA: Gustavo Novaro (en)
Additional Advisory Data
Solutions
CNA: Upgrade to 5.16.0 or later from the main branch; no tagged release carries the fix. Review and remove any existing files with a non-image extension under public/asset/upload/product/.