Ad

CVE-2026-84374

HIGH CVSS 3.1: 7,5 EPSS 0.57%
Обновлено 10 сентября 2026
Spartnernl
Параметр Значение
CVSS 7,5 (HIGH)
Устранено в версии 3.1.70
Тип уязвимости CWE-22 (Обход пути), CWE-73 (Внешнее управление именем файла)
Поставщик Spartnernl
Публичный эксплойт Нет

Laravel Excel обеспечивает расширенный экспорт и импорт Excel в Laravel. С 3.1.8 по 3.1.70 в src/Files/Disk.php метод Maatwebsite\Excel\Files\Disk::copy() разрешает управляемый вызывающим объектом $destination, предоставленный через Excel::store(), $export->store() или storeExcel(), в отношении рабочего каталога процесса с помощью realpath() вместо настроенного диска файловой системы. Если путь указывает на существующий записываемый файл, Disk::copy() открывает его с помощью fopen() в режиме rb+ и используетstream_copy_to_stream(), обходя ограничение пути Flysystem и позволяя злоумышленнику, чей ввод приложения контролирует путь экспорта, перезаписать произвольные существующие файлы экспортируемым содержимым.

Поведение rb+ создает неусекающуюся перезапись и конечные байты, когда новый экспорт короче, а перезапись исполняемого файла PHP может привести к удаленному выполнению кода. Эта проблема исправлена ​​в версии 3.1.70.

Показать оригинальное описание (EN)

Laravel Excel provides supercharged Excel exports and imports in Laravel. From 3.1.8 until 3.1.70, in src/Files/Disk.php the Maatwebsite\Excel\Files\Disk::copy() method resolves the caller-controlled $destination supplied through Excel::store(), $export->store(), or storeExcel() against the process working directory with realpath() instead of the configured filesystem disk. If the path names an existing writable file, Disk::copy() opens it with fopen() in rb+ mode and uses stream_copy_to_stream(), bypassing Flysystem path confinement and allowing an attacker whose application input controls the export path to overwrite arbitrary existing files with export content. The rb+ behavior creates a non-truncating overwrite and trailing bytes when the new export is shorter, and overwriting an executable PHP file can lead to remote code execution. This issue is fixed in version 3.1.70.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Высокая
Сложно эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Уязвимые продукты

spartnernl:laravel-excel