CVE-2018-15133
Laravel Encrypter Component Potential Decryption Failure Leading to Unintended Behavior
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
8.1
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.
- Record
CVE-2018-15133- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-502
- Updated
- 2026-11-02
CVE List
8.1
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.
- Record
CVE-2018-15133- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
EUVDEUVD-2022-5039
8.1
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.
- Record
EUVD-2022-5039- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-qvqm-h22r-4cp9
8.1
Laravel Framework RCE Vulnerability
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.
- Record
GHSA-qvqm-h22r-4cp9- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-7852-w36x-6mf6 No score
Laravel Encrypter Component Potential Decryption Failure Leading to Unintended Behavior
The Laravel Encrypter component is susceptible to a vulnerability that may result in decryption failure, leading to an unexpected return of false. Exploiting this issue requires the attacker to manipulate the encrypted payload before decryption. When combined with weak type comparisons in the application's code, such as the example below:
<?php
$decyptedValue = decrypt($secret);
if ($decryptedValue == '') {
// Code is run even though decrypted value is false...
}
- Record
GHSA-7852-w36x-6mf6- Weakness
- CWE-1240
- Updated
- 2026-11-02
CISA KEV No score
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).
- Record
CVE-2018-15133- Weakness
- CWE-502
- Updated
- 2026-11-02
Show 4 moreShow less
OSV
8.1
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.
- Record
CVE-2018-15133- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGHSA-qvqm-h22r-4cp9
8.1
Laravel Framework RCE Vulnerability
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.
- Record
GHSA-qvqm-h22r-4cp9- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
OSVCLSA-2026-1773017339 No score
TuxCare security update for laravel/framework (10 CVEs)
TuxCare rebuilt laravel/framework to address 10 CVEs. Fixed in 5.4.36-p2+tuxcare.
- Record
CLSA-2026-1773017339- Updated
- 2026-11-02
OSVGHSA-7852-w36x-6mf6 No score
Laravel Encrypter Component Potential Decryption Failure Leading to Unintended Behavior
The Laravel Encrypter component is susceptible to a vulnerability that may result in decryption failure, leading to an unexpected return of false. Exploiting this issue requires the attacker to manipulate the encrypted payload before decryption. When combined with weak type comparisons in the application's code, such as the example below:
<?php
$decyptedValue = decrypt($secret);
if ($decryptedValue == '') {
// Code is run even though decrypted value is false...
}
- Record
GHSA-7852-w36x-6mf6- Weakness
- CWE-1240
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
laravel/frameworkPackagist |
before 5.5.40 | 5.5.40 |
laravel/frameworkPackagist |
5.6.0 up to 5.6.15 | 5.6.15 |
laravel/frameworkPackagist |
through 5.5.40 | None known |
laravel/frameworkPackagist |
5.6.0 to 5.6.29 | 5.6.30 |
laravel/frameworkTuxCare:Packagist From an advisory covering 8 CVEs |
5.4.36 up to 5.4.36-p2+tuxcare, plus listed versions 5.4.36-p1+tuxcare |
5.4.36-p2+tuxcare |
laravel/frameworkPackagist |
before 5.5.40, plus listed versions 5.0.305.2.41v4.0.0v4.0.0-BETA2v4.0.0-BETA3 Show 45 moreShow lessv4.0.0-BETA4v4.0.1v4.0.10v4.0.11v4.0.2v4.0.3v4.0.4v4.0.5v4.0.6v4.0.7v4.0.8v4.0.9v4.1.0v4.1.1v4.1.10v4.1.11v4.1.12v4.1.13v4.1.14v4.1.15v4.1.16v4.1.17v4.1.18v4.1.19v4.1.2v4.1.20v4.1.21v4.1.22v4.1.23v4.1.24v4.1.25v4.1.26v4.1.27v4.1.28v4.1.29v4.1.3v4.1.30v4.1.31v4.1.4v4.1.5v4.1.6v4.1.7v4.1.8v4.1.9v4.2.0 |
5.5.40 |
laravel/frameworkPackagist |
5.6.0 up to 5.6.15, plus listed versions v5.6.0v5.6.1v5.6.10v5.6.11v5.6.12 Show 10 moreShow lessv5.6.13v5.6.14v5.6.2v5.6.3v5.6.4v5.6.5v5.6.6v5.6.7v5.6.8v5.6.9 |
5.6.15 |
laravel/frameworkPackagist |
through 5.5.40, plus listed versions 5.0.305.2.41v4.0.0v4.0.0-BETA2v4.0.0-BETA3 Show 45 moreShow lessv4.0.0-BETA4v4.0.1v4.0.10v4.0.11v4.0.2v4.0.3v4.0.4v4.0.5v4.0.6v4.0.7v4.0.8v4.0.9v4.1.0v4.1.1v4.1.10v4.1.11v4.1.12v4.1.13v4.1.14v4.1.15v4.1.16v4.1.17v4.1.18v4.1.19v4.1.2v4.1.20v4.1.21v4.1.22v4.1.23v4.1.24v4.1.25v4.1.26v4.1.27v4.1.28v4.1.29v4.1.3v4.1.30v4.1.31v4.1.4v4.1.5v4.1.6v4.1.7v4.1.8v4.1.9v4.2.0 |
None known |
laravel/frameworkPackagist |
5.6.0 up to 5.6.30, plus listed versions v5.6.0v5.6.1v5.6.10v5.6.11v5.6.12 Show 25 moreShow lessv5.6.13v5.6.14v5.6.15v5.6.16v5.6.17v5.6.18v5.6.19v5.6.2v5.6.20v5.6.21v5.6.22v5.6.23v5.6.24v5.6.25v5.6.26v5.6.27v5.6.28v5.6.29v5.6.3v5.6.4v5.6.5v5.6.6v5.6.7v5.6.8v5.6.9 |
5.6.30 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Metasploit | PHP Laravel Framework token Unserialize Remote Command Execution | 2018-08-07 |
| PoC in GitHub | kozmic/laravel-poc-CVE-2018-15133 | 2018-08-14 |
| Exploit-DB | PHP Laravel Framework 5.5.40 / 5.6.x < 5.6.30 - token Unserialize Remote Command Execution (Metasploit) | 2019-07-16 |
| PoC in GitHub | Bilelxdz/Laravel-CVE-2018-15133 | 2020-02-25 |
| PoC in GitHub | Prabesh01/Laravel-PHP-Unit-RCE-Auto-shell-uploader | 2020-04-05 |
| PoC in GitHub | bukitbarisan/laravel-rce-cve-2018-15133 | 2020-04-27 |
| PoC in GitHub | AlienX2001/better-poc-for-CVE-2018-15133 | 2020-11-09 |
| PoC in GitHub | aljavier/exploit_laravel_cve-2018-15133 | 2020-11-13 |
| PoC in GitHub | pwnedshell/Larascript | 2020-12-21 |
| PoC in GitHub | AzhariKun/CVE-2018-15133 | 2021-01-03 |
Show 6 moreShow less
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | NatteeSetobol/CVE-2018-15133-Lavel-Expliot | 2021-12-28 |
| PoC in GitHub | 0xSalle/cve-2018-15133 | 2023-05-10 |
| PoC in GitHub | Cr4zyD14m0nd137/Lab-for-cve-2018-15133 | 2023-05-10 |
| PoC in GitHub | yeahhbean/Laravel-CVE-2018-15133 | 2025-04-27 |
| PoC in GitHub | Loaxert/CVE-2018-15133-PoC | 2025-11-19 |
| PoC in GitHub | flame-11/CVE-2018-15133-laravel-framework | 2025-12-29 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| exploitation, exploits | ||
| first indexed | CVE List, EUVD, Exploit-DB, GitHub Advisories, CISA KEV, Metasploit, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2018-15133 is a high vulnerability (CVSS 8.1) in Laravel, published August 9, 2018. CISA lists it as known to be exploited, since January 16, 2024. EUVD reports exploitation since January 16, 2024. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 76.6%, the 99th percentile. Fixed in laravel/framework 5.5.40.
References
laravel.com/docs/5.6/upgrade
packetstormsecurity.com/files/153641/PHP-Laravel-Framework-Token-Unserialize-Remote-Command-Execution.html
cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2018-15133
github.com/laravel/framework/commit/28e53f23a76206fb130e9a54eb95aa3f010e79c9
github.com/laravel/framework/commit/886d261df0854426b4662b7ed5db6a1c575a4279
github.com/FriendsOfPHP/security-advisories/blob/master/laravel/framework/2018-03-30-1.yaml
Show 7 moreShow less
medium.com/@taylorotwell/laravel-security-release-5-6-15-and-5-5-40-56f1257933a0
github.com/advisories/GHSA-7852-w36x-6mf6
nvd.nist.gov/vuln/detail/CVE-2018-15133
github.com/laravel/framework/commit/d84cf988ed5d4661a4bf1fdcb08f5073835083a0
github.com/kozmic/laravel-poc-CVE-2018-15133
github.com/advisories/GHSA-qvqm-h22r-4cp9
github.com/laravel/framework
Left out here: 523 versions. The JSON record has them.