| 제목 | mjperpinosa stumasy 1.0 RCE vulnerability |
|---|
| 설명 | The post attachment upload functionality in `add_post.php` attempts to validate the uploaded file by checking if its MIME type **or** file extension matches a predefined whitelist:
```php
if (in_array($_FILES["type"], allowed_file_type) || in_array($_FILES["type"], allowed_image_type) || in_array($file_extension, allowed_extension))
```
Because the condition uses the || (OR) operator, an attacker only needs to satisfy one of the checks. By supplying a malicious PHP file with a forged MIME type (e.g., application/pdf) and a .php extension, the MIME check passes, and the extension check is effectively bypassed. The uploaded file is then moved to a web‑accessible directory using the original user‑supplied filename:
···
move_uploaded_file(..., "../../../../documents/files/" . $file_name);
···
The filename is not sanitised with basename() or stripped of directory separators, which could also allow path traversal in environments where the filesystem supports such characters. Once uploaded, the PHP file resides inside documents/files/ and can be requested directly, causing the server to execute the attacker’s code. |
|---|
| 원천 | ⚠️ https://github.com/mjperpinosa/stumasy/issues/1 |
|---|
| 사용자 | cnluminous (UID 98136) |
|---|
| 제출 | 2026. 05. 16. PM 02:34 (22 날 ago) |
|---|
| 모더레이션 | 2026. 06. 04. AM 07:14 (19 days later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 368254 [mjperpinosa stumasy add_post.php up_file_to_post 권한 상승] |
|---|
| 포인트들 | 20 |
|---|