GitHub Advisoryadvisory · Packagist

GHSA-8vwh-pr89-4mw2 Laravel Pulse Allows Remote Code Execution via Unprotected Query Method

HIGH Published 2024-12-13 Modified 2024-12-17 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

References