Laravel
Products by Laravel Sorted by Most Security Vulnerabilities since 2018
Known Exploited Laravel Vulnerabilities
The following Laravel vulnerabilities have been marked by CISA as Known to be Exploited by threat actors.
Title | Description | Added |
---|---|---|
Laravel Deserialization of Untrusted Data Vulnerability | Laravel Framework contains a deserialization of untrusted data vulnerability, allowing for remote command execution. This vulnerability may only be exploited if a malicious user has accessed the application encryption key (APP_KEY environment variable). CVE-2018-15133 | January 16, 2024 |
Laravel Ignition File Upload Vulnerability | Laravel Ignition contains a file upload vulnerability that allows unauthenticated remote attackers to execute malicious code due to insecure usage of file_get_contents() and file_put_contents(). CVE-2021-3129 | September 18, 2023 |
By the Year
In 2024 there have been 1 vulnerability in Laravel with an average score of 8.8 out of ten. Last year Laravel had 2 security vulnerabilities published. Right now, Laravel is on track to have less security vulnerabilities in 2024 than it did last year. However, the average CVE base score of the vulnerabilities in 2024 is greater by 1.25.
Year | Vulnerabilities | Average Score |
---|---|---|
2024 | 1 | 8.80 |
2023 | 2 | 7.55 |
2022 | 3 | 8.90 |
2021 | 3 | 7.07 |
2020 | 2 | 7.50 |
2019 | 1 | 8.80 |
2018 | 1 | 8.10 |
It may take a day or so for new Laravel vulnerabilities to show up in the stats or in the list of recent security vulnerabilties. Additionally vulnerabilities may be tagged under a different product or component name.
Recent Laravel Security Vulnerabilities
Cross-Site Request Forgery (CSRF) vulnerability in livewire before v3.0.4
CVE-2024-22859
8.8 - High
- February 01, 2024
Cross-Site Request Forgery (CSRF) vulnerability in livewire before v3.0.4, allows remote attackers to execute arbitrary code getCsrfToken function. NOTE: the vendor disputes this because the 5d88731 commit fixes a usability problem (HTTP 419 status codes for legitimate client activity), not a security problem.
Session Riding
The authentication method in Laravel 8.x through 9.x before 9.32.0 was discovered to be vulnerable to user enumeration
CVE-2022-40482
5.3 - Medium
- April 25, 2023
The authentication method in Laravel 8.x through 9.x before 9.32.0 was discovered to be vulnerable to user enumeration via timeless timing attacks with HTTP/2 multiplexing. This is caused by the early return inside the hasValidCredentials method in the Illuminate\Auth\SessionGuard class when a user is found to not exist.
Side Channel Attack
A deserialization vulnerability in the destruct() function of Laravel v8.5.9
CVE-2021-28254
9.8 - Critical
- April 19, 2023
A deserialization vulnerability in the destruct() function of Laravel v8.5.9 allows attackers to execute arbitrary commands.
Marshaling, Unmarshaling
A vulnerability, which was classified as critical, was found in Laravel 5.1
CVE-2022-2886
8.8 - High
- August 19, 2022
A vulnerability, which was classified as critical, was found in Laravel 5.1. Affected is an unknown function. The manipulation leads to deserialization. It is possible to launch the attack remotely. The exploit has been disclosed to the public and may be used. The identifier of this vulnerability is VDB-206688.
Marshaling, Unmarshaling
A vulnerability was found in laravel 5.1 and classified as problematic
CVE-2022-2870
9.8 - Critical
- August 17, 2022
A vulnerability was found in laravel 5.1 and classified as problematic. This issue affects some unknown processing. The manipulation leads to deserialization. The attack may be initiated remotely. The exploit has been disclosed to the public and may be used. The identifier VDB-206501 was assigned to this vulnerability.
Marshaling, Unmarshaling
Laravel Fortify before 1.11.1
CVE-2022-25838
8.1 - High
- February 24, 2022
Laravel Fortify before 1.11.1 allows reuse within a short time window, thus calling into question the "OT" part of the "TOTP" concept.
Authentication Bypass by Capture-replay
Laravel is a web application framework
CVE-2021-43808
6.1 - Medium
- December 08, 2021
Laravel is a web application framework. Laravel prior to versions 8.75.0, 7.30.6, and 6.20.42 contain a possible cross-site scripting (XSS) vulnerability in the Blade templating engine. A broken HTML element may be clicked and the user taken to another location in their browser due to XSS. This is due to the user being able to guess the parent placeholder SHA-1 hash by trying common names of sections. If the parent template contains an exploitable HTML structure an XSS vulnerability can be exposed. This vulnerability has been patched in versions 8.75.0, 7.30.6, and 6.20.42 by determining the parent placeholder at runtime and using a random hash that is unique to each request.
Use of a Broken or Risky Cryptographic Algorithm
Laravel Framework through 8.70.2 does not sufficiently block the upload of executable PHP content
CVE-2021-43617
9.8 - Critical
- November 14, 2021
Laravel Framework through 8.70.2 does not sufficiently block the upload of executable PHP content because Illuminate/Validation/Concerns/ValidatesAttributes.php lacks a check for .phar files, which are handled as application/x-httpd-php on systems based on Debian. NOTE: this CVE Record is for Laravel Framework, and is unrelated to any reports concerning incorrectly written user applications for image upload.
Unrestricted File Upload
Laravel is a web application framework
CVE-2021-21263
5.3 - Medium
- January 19, 2021
Laravel is a web application framework. Versions of Laravel before 6.20.11, 7.30.2 and 8.22.1 contain a query binding exploitation. This same exploit applies to the illuminate/database package which is used by Laravel. If a request is crafted where a field that is normally a non-array value is an array, and that input is not validated or cast to its expected type before being passed to the query builder, an unexpected number of query bindings can be added to the query. In some situations, this will simply lead to no results being returned by the query builder; however, it is possible certain queries could be affected in a way that causes the query to return unexpected results.
SQL Injection
An issue was discovered in Laravel before 6.18.34 and 7.x before 7.23.2
CVE-2020-24940
7.5 - High
- September 04, 2020
An issue was discovered in Laravel before 6.18.34 and 7.x before 7.23.2. Unvalidated values are saved to the database in some situations in which table names are stripped during a mass assignment.
Improper Input Validation
An issue was discovered in Laravel before 6.18.35 and 7.x before 7.24.0
CVE-2020-24941
7.5 - High
- September 04, 2020
An issue was discovered in Laravel before 6.18.35 and 7.x before 7.24.0. The $guarded property is mishandled in some situations involving requests with JSON column nesting expressions.
Improper Input Validation
Laravel 5.4.15 is vulnerable to Error based SQL injection in save.php
CVE-2018-6330
8.8 - High
- March 28, 2019
Laravel 5.4.15 is vulnerable to Error based SQL injection in save.php via dhx_user and dhx_version parameters.
SQL Injection
In Laravel Framework through 5.5.40 and 5.6.x through 5.6.29
CVE-2018-15133
8.1 - High
- August 09, 2018
In Laravel Framework through 5.5.40 and 5.6.x through 5.6.29, remote code execution might occur as a result of an unserialize call on a potentially untrusted X-XSRF-TOKEN value. This involves the decrypt method in Illuminate/Encryption/Encrypter.php and PendingBroadcast in gadgetchains/Laravel/RCE/3/chain.php in phpggc. The attacker must know the application key, which normally would never occur, but could happen if the attacker previously had privileged access or successfully accomplished a previous attack.
Marshaling, Unmarshaling
In Laravel framework through 5.5.21, remote attackers can obtain sensitive information (such as externally usable passwords)
CVE-2017-16894
7.5 - High
- November 20, 2017
In Laravel framework through 5.5.21, remote attackers can obtain sensitive information (such as externally usable passwords) via a direct request for the /.env URI. NOTE: this CVE is only about Laravel framework's writeNewEnvironmentFileWith function in src/Illuminate/Foundation/Console/KeyGenerateCommand.php, which uses file_put_contents without restricting the .env permissions. The .env filename is not used exclusively by Laravel framework.
Information Disclosure