CVE-2025-54068
Laravel Livewire
2026-03-20
Laravel Livewire contain a code injection vulnerability that could allow unauthenticated attackers to achieve remote command execution in specific scenarios.
Технический анализ и план устранения
Суть уязвимости
Уязвимость CVE-2025-54068 представляет собой критическую брешь в механизме десериализации и обработки параметров компонентов Laravel Livewire. Проблема заключается в недостаточной валидации входных данных, передаваемых через HTTP-запросы к эндпоинтам Livewire.
Неавторизованный злоумышленник может сформировать специально подготовленный полезный нагрузку (payload), который при обработке сервером приведет к инъекции кода. В определенных конфигурациях это позволяет выполнить произвольные системные команды (RCE) от имени пользователя, запустившего веб-сервер. Уязвимость особенно опасна, так как не требует наличия учетной записи в системе.
Как исправить
Основным способом устранения уязвимости является обновление пакета livewire/livewire до безопасной версии. Разработчики выпустили патчи для веток v2 и v3.
-
Перейдите в корневую директорию проекта.
-
Обновите зависимости с помощью Composer:
composer update livewire/livewire
- Убедитесь, что установленная версия соответствует безопасной:
- Для версии 2.x: v2.12.7 или выше.
- Для версии 3.x: v3.5.2 или выше.
Проверить текущую версию можно командой:
composer show livewire/livewire | grep versions
- Очистите кэш приложения и конфигурации:
php artisan cache:clear
php artisan view:clear
Временные меры
Если немедленное обновление невозможно, рекомендуется применить следующие защитные механизмы:
-
Ограничение доступа к эндпоинтам Livewire на уровне веб-сервера (Nginx/Apache) или WAF для доверенных IP-адресов, если приложение используется только внутри организации.
-
Внедрение строгой проверки подписи запросов (Checksum validation). Убедитесь, что параметр
app_keyнадежно защищен и не скомпрометирован, так как Livewire использует его для проверки целостности данных. -
Настройка WAF (Web Application Firewall) для блокировки запросов, содержащих подозрительные PHP-сериализованные объекты или попытки системных вызовов в теле POST-запросов к
/livewire/message/*. -
Временное отключение возможности загрузки файлов через Livewire, если это не является критически важным функционалом:
php artisan livewire:configure
(Установите параметр temporary_file_upload.enabled в значение false в конфигурационном файле config/livewire.php).