Skip to main content
Mallory
CriticalCISA KEVExploited in the wildPublic exploit

Ignition debug mode RCE in Laravel

IdentifiersCVE-2021-3129CWE-94

CVE-2021-3129 is an unauthenticated remote code execution vulnerability in Ignition, the error page and debugging component used by Laravel and other products. According to the provided content, versions of Ignition before 2.5.2 are affected due to insecure usage of file_get_contents() and file_put_contents(). The issue is exploitable when a Laravel application is exposed with debug mode enabled, specifically on sites using Laravel before 8.4.2. Under those conditions, a remote attacker can reach the exposed Ignition functionality and achieve arbitrary code execution on the server without authentication.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation allows unauthenticated arbitrary code execution on the affected server. This can lead to full application compromise, theft of credentials and secrets, deployment of malware or botnet payloads, persistence, lateral movement, and follow-on abuse of cloud resources. The supplied context specifically notes use of this vulnerability to obtain credentials from vulnerable Laravel systems and as an initial access vector in botnet and cloud-credential theft activity.

Mitigation

If you can’t patch tonight, do this now.

Disable debug mode on internet-exposed Laravel applications until patching is completed. Restrict external access to affected applications where possible, especially to development and debugging interfaces. More broadly, do not expose development/debug tooling in production environments.

Remediation

Patch, then assume compromise.

Upgrade Ignition to a fixed release. Per the provided advisory, use facade/ignition 1.6.15 or later in the affected 1.x line before 1.7.0 exposure, 1.16.14 or later for versions 1.7.0 through 1.16.13, 2.4.2 or later for versions 2.0.0 through 2.4.1, or 2.5.2 or later for versions 2.5.0 through 2.5.1. For Laravel deployments, update Laravel beyond 8.4.2 where applicable. Verify that no production deployment exposes vulnerable Ignition debug functionality after upgrade.
PUBLIC EXPLOITS

Exploits

13 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (3 hidden).

VALID 13 / 16 TOTALView more in app
CVE-2021-3129-piperpwnMaturityPoCVerified exploit

This repository contains a single Python exploit script (exp.py) targeting the Laravel Ignition debug handler vulnerability (CVE-2021-3129). The exploit automates the process of achieving remote code execution (RCE) by leveraging multiple PHPGGC gadget chains (Laravel/RCE1-7, Monolog/RCE1-4). The script constructs serialized PHP payloads using PHPGGC, writes them to the Laravel log file, and triggers deserialization via the /_ignition/execute-solution endpoint. The exploit checks for vulnerability, clears the log, injects the payload, and attempts to execute arbitrary commands (e.g., 'id') on the server. The main fingerprintable endpoints are the /_ignition/execute-solution HTTP endpoint and the ../storage/logs/laravel.log file. The script is operational and provides RCE if the target is vulnerable.

piperpwnDisclosed Jul 16, 2024pythonnetwork
CVE-2021-3129---Laravel-RCEMaturityPoCVerified exploit

This repository contains a Python exploit script (CVE-2021-3129.py) and a README.md. The script targets the Laravel PHP framework (<= 8.4.2) when the 'APP_DEBUG' setting is enabled, exploiting CVE-2021-3129 to achieve remote code execution (RCE). The exploit is interactive, allowing the user to execute arbitrary system commands on the target server, clear or write to the Laravel log file, and attempt to patch the vulnerability. The script validates the target URL, supports multiple exploitation chains, and provides user guidance for available commands. The README.md briefly describes the exploit's purpose and requirements. No hardcoded endpoints are present; the target is specified at runtime. The exploit is operational and provides real RCE capabilities against vulnerable Laravel installations.

lukwagoasumanDisclosed Jan 30, 2025pythonnetwork
CVE-2021-3129MaturityPoCVerified exploit

This repository is a Proof-of-Concept (PoC) exploit for CVE-2021-3129, a remote code execution vulnerability in Laravel applications using the Ignition debug handler (specifically version 2.5.1). The repository contains a Docker-based environment with two main components: a 'victim' service running a vulnerable Laravel 8.4.2 application with Ignition 2.5.1, and an 'attacker' service containing the exploit script (exploit.py). The exploit leverages PHPGGC to generate a malicious PHP object payload using the monolog/rce1 gadget chain, which is then injected into the Laravel log file and deserialized via the vulnerable endpoint (_ignition/execute-solution). The exploit achieves arbitrary command execution on the victim container, as demonstrated by reading /etc/passwd. The main exploit logic is implemented in Python (attacker/exploit.py), and the environment is orchestrated using Docker Compose. The repository is well-structured for educational and testing purposes, providing a full vulnerable environment and a working exploit.

knqyf263Disclosed Oct 1, 2021pythondockerfilenetwork
CVE-2021-3129MaturityPoCVerified exploit

This repository provides a Python-based exploit for CVE-2021-3129, a Remote Code Execution (RCE) vulnerability affecting Laravel applications with APP_DEBUG enabled. The main exploit script, 'CVE-2021-3129.py', orchestrates the attack by generating serialized PHP payloads (using PHPGGC chains) and injecting them into the Laravel log file. The exploit then triggers the payload via the '/_ignition/execute-solution' HTTP endpoint, resulting in arbitrary command execution on the target server. The script supports multiple exploitation chains for different Laravel and Monolog versions, and can automatically detect the Laravel version and select the appropriate chain. Additional features include clearing logs, writing arbitrary data to logs, and patching the vulnerability by modifying the .env file or index.php. The repository includes a Dockerfile to set up a vulnerable Laravel environment for testing, as well as language files for internationalization. The exploit is operational and provides real RCE capabilities, but also includes options for remediation. The main attack vector is network-based, targeting the '/_ignition/execute-solution' endpoint on Laravel servers with specific misconfigurations.

joshuavanderpollDisclosed Apr 16, 2022pythondockerfilenetwork
CVE-2021-3129-expMaturityPoCVerified exploit

This repository contains a Python exploit script (CVE-2021-3129.py) and a README.md for CVE-2021-3129, a remote code execution vulnerability in Laravel applications with debug mode enabled. The script can both detect the vulnerability and exploit it to write a PHP webshell ('shell.php') to the target server. The main attack vector is via HTTP requests to the '/_ignition/execute-solution' endpoint, abusing the Ignition package's unsafe deserialization and file operations. The script supports optional proxying and provides clear output on success or failure. The README provides usage instructions, example commands, and legal disclaimers. The exploit is operational, as it provides a working payload (webshell) and automates the full attack chain.

ajisai-babuDisclosed Mar 4, 2023pythonmarkdownnetwork
CVE-2021-3129MaturityPoCVerified exploit

This repository is a full exploit environment and script for CVE-2021-3129, a remote code execution (RCE) vulnerability in Laravel applications with debug mode enabled and the Facade\Ignition package installed. The repository includes a Dockerized vulnerable Laravel environment and a Python exploit script (exploit.py). The exploit works by generating a malicious Phar payload using PHPGGC and injecting it into the Laravel log file. It then triggers deserialization via the /_ignition/execute-solution endpoint, resulting in arbitrary command execution on the server. The exploit script supports multiple Monolog gadget chains for improved reliability. The main endpoints involved are the /_ignition/execute-solution HTTP endpoint and the Laravel log file. The repository is well-structured, with clear separation between the exploit code and the vulnerable application, and is intended for security research and proof-of-concept demonstration.

SNCKERDisclosed Jan 22, 2021pythonphpnetwork
laravel-CVE-2021-3129-EXPMaturityPoCVerified exploit

This repository contains a Python exploit script (laravel-CVE-2021-3129-EXP.py) targeting CVE-2021-3129, a remote code execution vulnerability in Laravel's Ignition debug mode. The exploit works by abusing the /_ignition/execute-solution endpoint to manipulate log files and inject a PHP webshell (fuckyou.php) into the target server. The script automatically detects the target OS (Windows or Linux) and crafts payloads accordingly. Upon successful exploitation, the attacker gains a persistent webshell with a known password ('pass'). The README provides basic usage instructions and an example target URL. The repository is operational and provides a working exploit with a real payload, suitable for post-exploitation access.

SecPros-TeamDisclosed Jan 25, 2021pythonnetwork
CVE-2021-3129MaturityPoCVerified exploit

This repository is a comprehensive exploit toolkit targeting insecure deserialization vulnerabilities in a wide range of PHP applications and frameworks. The main entry point is 'exp.py', a Python script that automates exploitation of the Laravel Ignition RCE vulnerability (and potentially others) by generating and delivering serialized PHP object payloads (gadget chains) to the vulnerable endpoint '/_ignition/execute-solution'. The repository includes a large collection of PHP gadget chains (under 'gadgetchains/') for various popular PHP libraries and frameworks, such as Laravel, Monolog, CodeIgniter, Doctrine, Drupal, Guzzle, Horde, Laminas, Magento, PHPCSFixer, PHPExcel, Phalcon, Pydio, Slim, Smarty, SwiftMailer, Symfony, TCPDF, ThinkPHP, and WordPress (Dompdf). Each gadget chain enables a specific exploit primitive, such as remote code execution, file write, file delete, SQL injection, SSRF, or information disclosure, depending on the target's installed libraries and versions. The exploit works by: - Generating a serialized PHP object payload using PHPGGC for the selected gadget chain. - Encoding the payload and delivering it via a POST request to the Laravel Ignition endpoint. - Leveraging log file manipulation and deserialization to trigger the exploit and achieve code execution or other effects. The Dockerfile provides an environment with PHP and Python for running the exploit. The toolkit is operational and can be used to exploit real-world targets, provided the target is vulnerable and the correct gadget chain is selected. The structure is modular, allowing for easy addition of new gadget chains for other PHP libraries.

zhzykerDisclosed Feb 18, 2021pythonphpnetwork
CVE-2021-3129MaturityPoCVerified exploit

This repository is a comprehensive exploit toolkit for CVE-2021-3129, a critical remote code execution vulnerability in Laravel applications using the Ignition package. The main exploit script, 'CVE-2021-3129.py', is a Python tool that automates the full exploitation chain: it generates a malicious PHAR payload using the included 'phpggc' PHP tool, injects the payload into the Laravel log file via the Ignition endpoint, converts the log file into a PHAR archive using PHP stream filters, and finally triggers deserialization to achieve arbitrary command execution on the server. The repository includes a large collection of PHP gadget chains (under 'gadgetchains/') for Laravel and Monolog, supporting a wide range of Laravel and Monolog versions and exploitation scenarios. The 'lib/' directory contains the core PHPGGC library for generating serialized payloads. The Dockerfile provides an environment for running the tools. Key endpoints and artifacts include the '/_ignition/execute-solution' HTTP endpoint (used to interact with the vulnerable Laravel instance) and the '../storage/logs/laravel.log' file (used for payload injection). The exploit is highly customizable, allowing the attacker to specify any system command to execute on the target. Overall, this repository provides a weaponized, automated exploit for CVE-2021-3129, leveraging advanced PHP deserialization techniques and a robust set of gadget chains for maximum compatibility and effectiveness.

0x0d3adDisclosed Sep 29, 2024pythonphpnetwork
Laravel-CVE-2021-3129MaturityPoCVerified exploit

This repository is a comprehensive exploit toolkit for CVE-2021-3129, a critical remote code execution vulnerability in Laravel's Ignition debug mode. The main exploit script (Exp.py) automates the exploitation process by generating serialized PHP object payloads (Phar files) using various gadget chains (provided in the 'gadgetchains/' directory, compatible with phpggc). The script targets the '/_ignition/execute-solution' endpoint of a vulnerable Laravel application, injecting the payload into the application's log file and then triggering deserialization to achieve RCE. The toolkit supports multiple gadget chains for different PHP libraries and frameworks (e.g., Monolog, Laravel, CakePHP, CodeIgniter, Doctrine, Guzzle, etc.), increasing its effectiveness across a range of target environments. The repository includes a Dockerfile for building a PHP environment with phpggc, and the README provides usage instructions. The exploit is operational and can execute arbitrary commands on the target server, provided the necessary conditions are met (vulnerable Laravel version, exposed endpoint, and appropriate PHP configuration).

shadowabiDisclosed Jun 4, 2022pythonphpnetwork
laravel-exploitsMaturityPoCVerified exploit

This repository contains a working exploit for CVE-2021-3129, a remote code execution vulnerability in Laravel Ignition <= 2.5.1. The exploit is implemented in Python (laravel-ignition-rce.py) and leverages the /_ignition/execute-solution/ HTTP endpoint exposed by Laravel applications in debug mode. The attack involves generating a malicious PHAR file (using PHPGGC), writing it into the Laravel log file, and then triggering deserialization via a crafted wrapper. The exploit script automates the process of clearing logs, injecting the payload, converting the log to a PHAR, and executing the payload to achieve arbitrary command execution. The README provides usage instructions and references the original vulnerability research. The main fingerprintable endpoints are the /_ignition/execute-solution/ HTTP path and the log file at /storage/logs/laravel.log. The exploit is operational and requires the attacker to generate a suitable PHAR payload.

ambionicsDisclosed Jan 13, 2021pythonnetwork
CVE-2021-3129_exploitMaturityPoCVerified exploit

This repository contains a Python exploit script (exploit.py) targeting CVE-2021-3129, a remote code execution vulnerability in Laravel applications using the Ignition package (facade/ignition) version 2.5.1. The exploit works by abusing the /_ignition/execute-solution endpoint to manipulate the Laravel log file, inject a serialized PHPGGC gadget chain payload (as a PHAR file), and trigger its deserialization, resulting in arbitrary command execution on the server. The script automates the process of clearing logs, generating the payload (using PHPGGC), injecting it, converting the log to a PHAR, and triggering deserialization. The README provides setup and usage instructions, including example commands. The main fingerprintable endpoints are the /_ignition/execute-solution HTTP endpoint and the ../storage/logs/laravel.log file. The exploit is operational, requiring a specific vulnerable configuration, and provides full RCE capabilities.

nth347Disclosed Jan 27, 2021pythonnetwork
Laravel_CVE-2021-3129_EXPMaturityPoCVerified exploit

This repository contains a Python exploit script (Laravel_CVE-2021-3129_EXP.py) targeting CVE-2021-3129, a remote code execution vulnerability in Laravel's Ignition package (version 2.5.1). The exploit leverages a gadget chain (Laravel/RCE5) generated by the phpggc tool to craft a malicious serialized PHP payload. The script interacts with the vulnerable Laravel application's _ignition/execute-solution HTTP endpoint, sending specially crafted JSON data to trigger the vulnerability. The exploit workflow involves clearing and manipulating the Laravel log file, injecting the payload, and then triggering deserialization to achieve RCE. The README provides usage notes, version requirements, and references. The repository is structured with a single Python exploit script and a README file, and requires the phpggc tool to be present for payload generation.

crisprssDisclosed Jan 27, 2021pythonnetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
FacadeIgnitionapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware10

Malware families riding this exploit, with evidence and IOCs.

Detection signatures2

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity

Community discussion across Reddit, Mastodon, and other social sources.