Actively exploited vulnerability
Laravel Framework: code execution flaw under attack
CVE-2018-15133 · Laravel Deserialization of Untrusted Data Vulnerability
What is affected
Laravel Framework is mostly run by companies, schools and public bodies, not on home computers. You are unlikely to have it yourself, but organisations that hold your data may. Breaches that start with flaws like this one are how personal data ends up leaked.
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).
What an attacker can do
This is a code execution flaw. It lets an attacker run their own commands or programs on the affected system. In practice that usually means taking it over: installing malware, stealing data or using it to reach other devices on the same network.
- How it is reached
- Over the internet or network
- Access the attacker needs
- No account needed
- Does the victim have to do something?
- No, works without the victim doing anything
What to do
- At home: nothing to install. Keep your own devices updated and use a different password for every service, so that a breach at one organisation does not open your other accounts.
- If you administer Laravel Framework at work: apply the vendor's fix or mitigation now and review logs for signs of compromise, because the flaw was being exploited before it was listed.
- If the product is past its support date and no fix exists, take it off the internet or retire it.
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Vendor advisories and fixes
- laravel.comlaravel.com/docs/5.6/upgrade#upgrade-5.6.30
How urgent is it
CISA added this vulnerability to its Known Exploited Vulnerabilities catalogue on January 16, 2024, which means there is reliable evidence of attacks in the wild. US federal agencies must fix it by February 6, 2024, a deadline that has already passed. That deadline does not bind anyone else, but it shows how seriously the agency rates it.
The EPSS model estimates a 77% probability that this flaw will be exploited somewhere in the next 30 days. That is higher than 99.5% of all scored vulnerabilities.
Its CVSS severity score is 8.1 out of 10 (high), as recorded in the US National Vulnerability Database.
Technical description
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.