CVE Catalog

CVE-2026-81931

MediumCVSS 4.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.29%

21th percentile - higher than 21% of all known CVEs

Summary

An 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 Assessment

The risk is that a malicious script can be executed in the application context, potentially leading to data theft, session hijacking, or other attacks. The attack requires authentication and permissions, but could be exploited by sellers.

Recommendation

It is recommended to update Roskus Prospero Flow CRM to version 5.16.0 or later, which includes a fix. Also, strengthen validation of uploaded files to reject dangerous extensions and MIME types.

Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS