Livewire Remote Code Execution on File Uploads
Package
Affected versions
>= 3.0.0-beta.1, < 3.5.2
< 2.12.7
Patched versions
3.5.2
2.12.7
Description
Published by the National Vulnerability Database
Oct 8, 2024
Published to the GitHub Advisory Database
Oct 8, 2024
Reviewed
Oct 8, 2024
Last updated
Oct 9, 2024
In livewire/livewire prior to
v2.12.7
andv3.5.2
, the file extension of an uploaded file is guessed based on the MIME type. As a result, the actual file extension from the file name is not validated. An attacker can therefore bypass the validation by uploading a file with a valid MIME type (e.g.,image/png
) and a “.php” file extension.If the following criteria are met, the attacker can carry out an RCE attack:
$file->getClientOriginalName()
PoC
In the following scenario, an attacker could upload a file called
shell.php
with animage/png
MIME type and execute it on the remote server.References