Vulnerability Details CVE-2024-47823
Livewire is a full-stack framework for Laravel that allows for dynamic UI components without leaving PHP. In livewire/livewire prior to `2.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: 1. Filename is composed of the original file name using `$file->getClientOriginalName()`. 2. Files stored directly on your server in a public storage disk. 3. Webserver is configured to execute “.php” files. This issue has been addressed in release versions `2.12.7` and `3.5.2`. All users are advised to upgrade. There are no known workarounds for this vulnerability.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.002
EPSS Ranking 45.2%
CVSS Severity
CVSS v3 Score 9.8
Products affected by CVE-2024-47823
-
cpe:2.3:a:laravel:livewire:.0.3.11
-
cpe:2.3:a:laravel:livewire:0.0.1
-
cpe:2.3:a:laravel:livewire:0.0.10
-
cpe:2.3:a:laravel:livewire:0.0.11
-
cpe:2.3:a:laravel:livewire:0.0.12
-
cpe:2.3:a:laravel:livewire:0.0.13
-
cpe:2.3:a:laravel:livewire:0.0.14
-
cpe:2.3:a:laravel:livewire:0.0.15
-
cpe:2.3:a:laravel:livewire:0.0.2
-
cpe:2.3:a:laravel:livewire:0.0.3
-
cpe:2.3:a:laravel:livewire:0.0.4
-
cpe:2.3:a:laravel:livewire:0.0.5
-
cpe:2.3:a:laravel:livewire:0.0.6
-
cpe:2.3:a:laravel:livewire:0.0.7
-
cpe:2.3:a:laravel:livewire:0.0.8
-
cpe:2.3:a:laravel:livewire:0.0.9
-
cpe:2.3:a:laravel:livewire:0.1
-
cpe:2.3:a:laravel:livewire:0.1.1
-
cpe:2.3:a:laravel:livewire:0.1.2
-
cpe:2.3:a:laravel:livewire:0.1.3
-
cpe:2.3:a:laravel:livewire:0.1.4
-
cpe:2.3:a:laravel:livewire:0.1.5
-
cpe:2.3:a:laravel:livewire:0.1.6
-
cpe:2.3:a:laravel:livewire:0.2.0
-
cpe:2.3:a:laravel:livewire:0.2.1
-
cpe:2.3:a:laravel:livewire:0.2.10
-
cpe:2.3:a:laravel:livewire:0.2.2
-
cpe:2.3:a:laravel:livewire:0.2.3
-
cpe:2.3:a:laravel:livewire:0.2.4
-
cpe:2.3:a:laravel:livewire:0.2.5
-
cpe:2.3:a:laravel:livewire:0.2.6
-
cpe:2.3:a:laravel:livewire:0.2.7
-
cpe:2.3:a:laravel:livewire:0.2.8
-
cpe:2.3:a:laravel:livewire:0.2.9
-
cpe:2.3:a:laravel:livewire:0.3.0
-
cpe:2.3:a:laravel:livewire:0.3.1
-
cpe:2.3:a:laravel:livewire:0.3.10
-
cpe:2.3:a:laravel:livewire:0.3.11
-
cpe:2.3:a:laravel:livewire:0.3.12
-
cpe:2.3:a:laravel:livewire:0.3.13
-
cpe:2.3:a:laravel:livewire:0.3.14
-
cpe:2.3:a:laravel:livewire:0.3.15
-
cpe:2.3:a:laravel:livewire:0.3.16
-
cpe:2.3:a:laravel:livewire:0.3.17
-
cpe:2.3:a:laravel:livewire:0.3.18
-
cpe:2.3:a:laravel:livewire:0.3.19
-
cpe:2.3:a:laravel:livewire:0.3.2
-
cpe:2.3:a:laravel:livewire:0.3.20
-
cpe:2.3:a:laravel:livewire:0.3.21
-
cpe:2.3:a:laravel:livewire:0.3.3
-
cpe:2.3:a:laravel:livewire:0.3.4
-
cpe:2.3:a:laravel:livewire:0.3.5
-
cpe:2.3:a:laravel:livewire:0.3.6
-
cpe:2.3:a:laravel:livewire:0.3.7
-
cpe:2.3:a:laravel:livewire:0.3.8
-
cpe:2.3:a:laravel:livewire:0.3.9
-
cpe:2.3:a:laravel:livewire:0.4.0
-
cpe:2.3:a:laravel:livewire:0.5.0
-
cpe:2.3:a:laravel:livewire:0.5.1
-
cpe:2.3:a:laravel:livewire:0.5.2
-
cpe:2.3:a:laravel:livewire:0.5.3
-
cpe:2.3:a:laravel:livewire:0.6.0
-
cpe:2.3:a:laravel:livewire:0.7.0
-
cpe:2.3:a:laravel:livewire:0.7.1
-
cpe:2.3:a:laravel:livewire:0.7.2
-
cpe:2.3:a:laravel:livewire:0.7.3
-
cpe:2.3:a:laravel:livewire:0.7.4
-
cpe:2.3:a:laravel:livewire:1.0.0
-
cpe:2.3:a:laravel:livewire:1.0.1
-
cpe:2.3:a:laravel:livewire:1.0.10
-
cpe:2.3:a:laravel:livewire:1.0.11
-
cpe:2.3:a:laravel:livewire:1.0.12
-
cpe:2.3:a:laravel:livewire:1.0.13
-
cpe:2.3:a:laravel:livewire:1.0.14
-
cpe:2.3:a:laravel:livewire:1.0.2
-
cpe:2.3:a:laravel:livewire:1.0.3
-
cpe:2.3:a:laravel:livewire:1.0.4
-
cpe:2.3:a:laravel:livewire:1.0.5
-
cpe:2.3:a:laravel:livewire:1.0.6
-
cpe:2.3:a:laravel:livewire:1.0.7
-
cpe:2.3:a:laravel:livewire:1.0.8
-
cpe:2.3:a:laravel:livewire:1.0.9
-
cpe:2.3:a:laravel:livewire:1.1.0
-
cpe:2.3:a:laravel:livewire:1.2.0
-
cpe:2.3:a:laravel:livewire:1.3.0
-
cpe:2.3:a:laravel:livewire:1.3.1
-
cpe:2.3:a:laravel:livewire:1.3.2
-
cpe:2.3:a:laravel:livewire:1.3.3
-
cpe:2.3:a:laravel:livewire:1.3.4
-
cpe:2.3:a:laravel:livewire:1.3.5
-
cpe:2.3:a:laravel:livewire:1.3.6
-
cpe:2.3:a:laravel:livewire:1.3.7
-
cpe:2.3:a:laravel:livewire:1.3.8
-
cpe:2.3:a:laravel:livewire:1.3.9
-
cpe:2.3:a:laravel:livewire:2.0.0
-
cpe:2.3:a:laravel:livewire:2.0.1
-
cpe:2.3:a:laravel:livewire:2.0.2
-
cpe:2.3:a:laravel:livewire:2.0.3
-
cpe:2.3:a:laravel:livewire:2.0.4
-
cpe:2.3:a:laravel:livewire:2.1.0
-
cpe:2.3:a:laravel:livewire:2.1.1
-
cpe:2.3:a:laravel:livewire:2.1.2
-
cpe:2.3:a:laravel:livewire:2.1.3
-
cpe:2.3:a:laravel:livewire:2.1.4
-
cpe:2.3:a:laravel:livewire:2.10.0
-
cpe:2.3:a:laravel:livewire:2.10.1
-
cpe:2.3:a:laravel:livewire:2.10.2
-
cpe:2.3:a:laravel:livewire:2.10.3
-
cpe:2.3:a:laravel:livewire:2.10.4
-
cpe:2.3:a:laravel:livewire:2.10.5
-
cpe:2.3:a:laravel:livewire:2.10.6
-
cpe:2.3:a:laravel:livewire:2.10.7
-
cpe:2.3:a:laravel:livewire:2.10.8
-
cpe:2.3:a:laravel:livewire:2.11.0
-
cpe:2.3:a:laravel:livewire:2.11.1
-
cpe:2.3:a:laravel:livewire:2.11.2
-
cpe:2.3:a:laravel:livewire:2.11.3
-
cpe:2.3:a:laravel:livewire:2.12.0
-
cpe:2.3:a:laravel:livewire:2.12.1
-
cpe:2.3:a:laravel:livewire:2.12.2
-
cpe:2.3:a:laravel:livewire:2.12.3
-
cpe:2.3:a:laravel:livewire:2.12.4
-
cpe:2.3:a:laravel:livewire:2.12.5
-
cpe:2.3:a:laravel:livewire:2.12.6
-
cpe:2.3:a:laravel:livewire:2.2.0
-
cpe:2.3:a:laravel:livewire:2.2.1
-
cpe:2.3:a:laravel:livewire:2.2.2
-
cpe:2.3:a:laravel:livewire:2.2.3
-
cpe:2.3:a:laravel:livewire:2.2.4
-
cpe:2.3:a:laravel:livewire:2.2.5
-
cpe:2.3:a:laravel:livewire:2.2.6
-
cpe:2.3:a:laravel:livewire:2.2.7
-
cpe:2.3:a:laravel:livewire:2.2.8
-
cpe:2.3:a:laravel:livewire:2.2.9
-
cpe:2.3:a:laravel:livewire:2.3.0
-
cpe:2.3:a:laravel:livewire:2.3.1
-
cpe:2.3:a:laravel:livewire:2.3.10
-
cpe:2.3:a:laravel:livewire:2.3.11
-
cpe:2.3:a:laravel:livewire:2.3.12
-
cpe:2.3:a:laravel:livewire:2.3.13
-
cpe:2.3:a:laravel:livewire:2.3.14
-
cpe:2.3:a:laravel:livewire:2.3.15
-
cpe:2.3:a:laravel:livewire:2.3.16
-
cpe:2.3:a:laravel:livewire:2.3.17
-
cpe:2.3:a:laravel:livewire:2.3.18
-
cpe:2.3:a:laravel:livewire:2.3.2
-
cpe:2.3:a:laravel:livewire:2.3.3
-
cpe:2.3:a:laravel:livewire:2.3.4
-
cpe:2.3:a:laravel:livewire:2.3.5
-
cpe:2.3:a:laravel:livewire:2.3.6
-
cpe:2.3:a:laravel:livewire:2.3.7
-
cpe:2.3:a:laravel:livewire:2.3.8
-
cpe:2.3:a:laravel:livewire:2.3.9
-
cpe:2.3:a:laravel:livewire:2.4.0
-
cpe:2.3:a:laravel:livewire:2.4.1
-
cpe:2.3:a:laravel:livewire:2.4.2
-
cpe:2.3:a:laravel:livewire:2.4.3
-
cpe:2.3:a:laravel:livewire:2.4.4
-
cpe:2.3:a:laravel:livewire:2.5.0
-
cpe:2.3:a:laravel:livewire:2.5.1
-
cpe:2.3:a:laravel:livewire:2.5.2
-
cpe:2.3:a:laravel:livewire:2.5.3
-
cpe:2.3:a:laravel:livewire:2.5.4
-
cpe:2.3:a:laravel:livewire:2.5.5
-
cpe:2.3:a:laravel:livewire:2.6.0
-
cpe:2.3:a:laravel:livewire:2.6.1
-
cpe:2.3:a:laravel:livewire:2.6.2
-
cpe:2.3:a:laravel:livewire:2.6.3
-
cpe:2.3:a:laravel:livewire:2.6.4
-
cpe:2.3:a:laravel:livewire:2.6.5
-
cpe:2.3:a:laravel:livewire:2.6.6
-
cpe:2.3:a:laravel:livewire:2.6.7
-
cpe:2.3:a:laravel:livewire:2.7.0
-
cpe:2.3:a:laravel:livewire:2.7.1
-
cpe:2.3:a:laravel:livewire:2.7.2
-
cpe:2.3:a:laravel:livewire:2.8.0
-
cpe:2.3:a:laravel:livewire:2.8.1
-
cpe:2.3:a:laravel:livewire:2.8.2
-
cpe:2.3:a:laravel:livewire:2.9.0
-
cpe:2.3:a:laravel:livewire:3.0.0
-
cpe:2.3:a:laravel:livewire:3.0.1
-
cpe:2.3:a:laravel:livewire:3.0.10
-
cpe:2.3:a:laravel:livewire:3.0.2
-
cpe:2.3:a:laravel:livewire:3.0.3
-
cpe:2.3:a:laravel:livewire:3.0.4
-
cpe:2.3:a:laravel:livewire:3.0.5
-
cpe:2.3:a:laravel:livewire:3.0.6
-
cpe:2.3:a:laravel:livewire:3.0.7
-
cpe:2.3:a:laravel:livewire:3.0.8
-
cpe:2.3:a:laravel:livewire:3.0.9
-
cpe:2.3:a:laravel:livewire:3.1.0
-
cpe:2.3:a:laravel:livewire:3.2.0
-
cpe:2.3:a:laravel:livewire:3.2.1
-
cpe:2.3:a:laravel:livewire:3.2.2
-
cpe:2.3:a:laravel:livewire:3.2.3
-
cpe:2.3:a:laravel:livewire:3.2.4
-
cpe:2.3:a:laravel:livewire:3.2.5
-
cpe:2.3:a:laravel:livewire:3.2.6
-
cpe:2.3:a:laravel:livewire:3.3.0
-
cpe:2.3:a:laravel:livewire:3.3.1
-
cpe:2.3:a:laravel:livewire:3.3.2
-
cpe:2.3:a:laravel:livewire:3.3.3
-
cpe:2.3:a:laravel:livewire:3.3.4
-
cpe:2.3:a:laravel:livewire:3.3.5
-
cpe:2.3:a:laravel:livewire:3.4.0
-
cpe:2.3:a:laravel:livewire:3.4.1
-
cpe:2.3:a:laravel:livewire:3.4.10
-
cpe:2.3:a:laravel:livewire:3.4.11
-
cpe:2.3:a:laravel:livewire:3.4.12
-
cpe:2.3:a:laravel:livewire:3.4.2
-
cpe:2.3:a:laravel:livewire:3.4.3
-
cpe:2.3:a:laravel:livewire:3.4.4
-
cpe:2.3:a:laravel:livewire:3.4.5
-
cpe:2.3:a:laravel:livewire:3.4.6
-
cpe:2.3:a:laravel:livewire:3.4.7
-
cpe:2.3:a:laravel:livewire:3.4.8
-
cpe:2.3:a:laravel:livewire:3.4.9
-
cpe:2.3:a:laravel:livewire:3.5.0
-
cpe:2.3:a:laravel:livewire:3.5.1