GitHub Advisoryadvisory · Packagist
GHSA-8vwh-pr89-4mw2 Laravel Pulse Allows Remote Code Execution via Unprotected Query Method
HIGH
Official page ↗
- Aliases
- CVE-2024-55661
- Ecosystem
- Packagist
- Packages
- laravel/pulse
- Severity
- High
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
- Weaknesses
- CWE-94
- Reviewed
- 2024-12-13
Affected packages
• Packagist laravel/pulse: < 1.3.1 → fixed in 1.3.1
Description
A vulnerability has been discovered in Laravel Pulse that could allow remote code execution through the public `remember()` method in the `Laravel\Pulse\Livewire\Concerns\RemembersQueries` trait. This method is accessible via Livewire components and can be exploited to call arbitrary callables within the application.
Impact
An authenticated user with access to Laravel Pulse dashboard can execute arbitrary code by calling any function or static method that meets the following criteria:
• The callable is a function or static method
• The callable has no parameters or no strict parameter types
Vulnerable Components
• The `remember(callable $query, string $key = '')` method in `Laravel\Pulse\Livewire\Concerns\RemembersQueries`
• Affects all Pulse card components that use this trait
Attack Vectors
The vulnerability can be exploited through Livewire component interactions, for example:
```php
wire:click="remember('\\Illuminate\\Support\\Facades\\Config::all', 'config')"
```
Credit
Thank you to Jeremy Angele for reporting this vulnerability.
Related
Alias · CVE (1)
- CVE-2024-55661 Laravel Pulse is a real-time application performance monitoring tool and dashboard for Laravel applications. vulnerability
Weakness · CWE (1)
- CWE-94 Improper Control of Generation of Code weakness