Livewire Remote Code Execution on File Uploads
In livewire/livewire prior to v2.12.7 and v3.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:
- Filename is composed of the original file name using
$file->getClientOriginalName() - Files stored directly on your server in a public storage disk
- Webserver is configured to execute “.php” files
PoC
In the following scenario, an attacker could upload a file called shell.php with an image/png MIME type and execute it on the remote server.
class SomeComponent extends Component
{
use WithFileUploads;
#[Validate('image|extensions:png')]
public $file;
public function save()
{
$this->validate();
$this->file->storeAs(
path: 'images',
name: $this->file->getClientOriginalName(),
options: ['disk' => 'public'],
);
}
}
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Composer package | livewire/livewire | >= 3.0.0-beta.1, < 3.5.2, < 2.12.7 | 3.5.2, 2.12.7 |
References
- https://github.com/livewire/livewire/security/advisories/GHSA-f3cx-396f-7jqp
- https://nvd.nist.gov/vuln/detail/CVE-2024-47823
- https://github.com/livewire/livewire/pull/8624
- https://github.com/livewire/livewire/commit/70503b79f5db75a1eac9bf55826038a6ee5a16d5
- https://github.com/livewire/livewire/commit/cd168c6212ea13d13b82b3132485741f82d9fad9
- https://github.com/livewire/livewire
- CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H- Weakness (CWE)
CWE-20, CWE-434- Platform
- Composer
- Package
livewire/livewire- Disclosed
- 08.10.2024
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-f3cx-396f-7jqp - CC BY 4.0
Vulnerability history: livewire/livewire
All published vulnerabilities of this package (Composer package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 5
- First → latest
- 03.2024 09.2026
- Without a fix
- 0
- Exploited in attacks
- 1
Severity breakdown
- Critical 1
- High 1
- Medium 3
Disclosures per year
- 2024: 3
- 2025: 1
- 2026: 1
-
Livewire Remote Code Execution on File Uploads this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.