Laravel Laravel

Do you want an email whenever new security vulnerabilities are reported in any Laravel product?

Products by Laravel Sorted by Most Security Vulnerabilities since 2018

Laravel14 vulnerabilities
PHP Web Application Development Framework

Laravel Framework5 vulnerabilities

Laravel Fortify1 vulnerability

Laravel Livewire1 vulnerability

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. If vulnerabilities keep coming in at the current rate, it appears that number of security vulnerabilities in Laravel in 2024 could surpass last years number. 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

Built by Foundeo Inc., with data from the National Vulnerability Database (NVD), Icons by Icons8. Privacy Policy. Use of this site is governed by the Legal Terms
Disclaimer
CONTENT ON THIS WEBSITE IS PROVIDED ON AN "AS IS" BASIS AND DOES NOT IMPLY ANY KIND OF GUARANTEE OR WARRANTY, INCLUDING THE WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. YOUR USE OF THE INFORMATION ON THE DOCUMENT OR MATERIALS LINKED FROM THE DOCUMENT IS AT YOUR OWN RISK. Always check with your vendor for the most up to date, and accurate information.