Description
This affects versions of the package unisharp/laravel-filemanager before 2.6.2. The upload() function does not sufficiently validate the file type when uploading.
An attacker may be able to reproduce the following steps:
1. Install a package with a web Laravel application.
2. Navigate to the Upload window
3. Upload an image file, then capture the request
4. Edit the request contents with a malicious file (webshell)
5. Enter the path of file uploaded on URL - Remote Code Execution
**Note:** Prevention for bad extensions can be done by using a whitelist in the config file(lfm.php). Corresponding document can be found in [here](https://unisharp.github.io/laravel-filemanager/configfolder-categories).
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | unisharp/laravel-filemanager | < 2.6.2 | 2.6.2 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | unisharp/laravel-filemanager | < 2.6.2 | 2.6.2 | GHSA-f8x6-m9f5-ffp8 |
References
- https://security.snyk.io/vuln/SNYK-PHP-UNISHARPLARAVELFILEMANAGER-1567199
- https://github.com/UniSharp/laravel-filemanager/blob/master/src/Controllers/UploadController.php%23L26
- https://github.com/UniSharp/laravel-filemanager/releases/tag/v2.5.1
- https://github.com/UniSharp/laravel-filemanager/issues/1113
- https://github.com/UniSharp/laravel-filemanager/releases/tag/v2.6.2