| Título | wuzhicms <=4.1.0 Arbitrary File Write (RCE) |
|---|
| Descrição | member::setAvatar() accepts a user's avatar upload. The extension of the resulting filename is derived from $_FILES['file']['name'] (the raw, client-supplied filename, which is entirely untrusted), using only strtolower(pathinfo(...)) to extract the extension — with no extension whitelist, no MIME-type validation, and no image-content validation via getimagesize()/exif_imagetype(). The file is then written directly via move_uploaded_file() into the uploadfile/member/<uid>/ directory. This directory is directly served by the web server and PHP execution is permitted there, so an attacker who uploads a .php-suffixed web shell can trigger execution simply by requesting the predictable resulting URL. |
|---|
| Fonte | ⚠️ https://github.com/wuzhicms/wuzhicms/issues/219 |
|---|
| Utilizador | ZAST.AI (UID 87884) |
|---|
| Submissão | 17/08/2026 07h22 (há 1 mês) |
|---|
| Moderação | 15/09/2026 10h44 (29 days later) |
|---|
| Estado | Aceite |
|---|
| Entrada VulDB | 404077 [WuzhiCMS até 4.1.0 Avatar Upload index.php?m=member&f=user&v=setAvatar member::setAvatar Ficheiro Elevação de Privilégios] |
|---|
| Pontos | 20 |
|---|