CVE-2024-55661
Published: 13 December 2024
Summary
CVE-2024-55661 is a high-severity Code Injection (CWE-94) vulnerability in Laravel Pulse. Its CVSS base score is 8.7 (High).
Operationally, ranked in the top 1.8% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
Deeper analysis
Laravel Pulse, a real-time application performance monitoring tool and dashboard for Laravel applications, is affected by a remote code execution vulnerability in versions prior to 1.3.1. The flaw exists in the public remember() method of the Laravel\Pulse\Livewire\Concerns\RemembersQueries trait, which is exposed through Livewire components used by all Pulse card components and permits invocation of arbitrary callables.
An authenticated user with access to the Laravel Pulse dashboard can exploit the method to call any function or static method lacking parameters or strict parameter types, resulting in arbitrary code execution inside the application. The vulnerability is tracked as CWE-94 and carries a CVSS 4.0 score of 8.7.
The referenced GitHub security advisory GHSA-8vwh-pr89-4mw2 and the patch commit d1a5bf2eca36c6e3bedb4ceecd45df7d002a1ebc indicate that upgrading to version 1.3.1 resolves the issue. The associated EPSS score has remained flat at its peak value of 0.5698 with no material rise after disclosure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2024-3450
Vulnerability details
Laravel Pulse is a real-time application performance monitoring tool and dashboard for Laravel applications. A vulnerability has been discovered in Laravel Pulse prior to version 1.3.1 that could allow remote code execution through the public `remember()` method in the `Laravel\Pulse\Livewire\Concerns\RemembersQueries`…
more
trait. This method is accessible via Livewire components and can be exploited to call arbitrary callables within the application. An authenticated user with access to Laravel Pulse dashboard can execute arbitrary code by calling any function or static method in which the callable is a function or static method and the callable has no parameters or no strict parameter types. The vulnerable to component is `remember(callable $query, string $key = '')` method in `Laravel\Pulse\Livewire\Concerns\RemembersQueries`, and the vulnerability affects all Pulse card components that use this trait. Version 1.3.1 contains a patch.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Makes persistent code injection into loaded programs impossible when the executable image itself resides on hardware-protected read-only media.
Dynamically generated code can be produced and executed inside the isolated chamber, preventing host compromise from code-injection payloads.
Validates inputs used in dynamic code generation to block injected directives.
Directly prevents execution of attacker-supplied code written into data memory regions.