Unrestricted upload of file with dangerous type in Prospero Flow CRM product photo allows stored cross-site scripting
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Code execution
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-434.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA Prospero Flow CRM (Roskus) Fixed in 5.16.0
Timeline
- 2026-10-02 Threatist record created from CVE-2026-81931
- 2026-10-03 Alias added: GHSA-2g3f-q348-c747
References
More Roskus vulnerabilities
- TI-2026-54500 IDOR and missing authorization in Prospero Flow CRM supplier API allows cross-tenant read and modification CVSS 4.0CRITICAL 9.3
- TI-2026-16110 Use of hard-coded credentials in Prospero Flow CRM employee onboarding CVSS 4.0CRITICAL 9.3
- TI-2026-42380 Stored XSS in Prospero Flow CRM email body allows administrator account takeover CVSS 4.0HIGH 8.6
- TI-2026-42376 Missing authorization in Prospero Flow CRM allows low-privileged users to read all bank accounts CVSS 4.0HIGH 8.7
- TI-2026-54153 IDOR and missing authorization in the Prospero Flow CRM transaction API allow cross-tenant reading of financial records CVSS 4.0HIGH 8.7
- TI-2026-42374 Missing Authorization in Prospero Flow CRM permission save endpoint allows privilege escalation CVSS 4.0HIGH 8.7
Sources
- CVE-2026-81931 · CVE Program
- CVE-2026-81931 · NVD
- FIRST EPSS
- GHSA-2g3f-q348-c747 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences