CVE-2025-65346 – Аутентифицированный обход пути из функции UnZip, приводящий к произвольной записи файлов в laravel-file-manager v3.3.1
🧭 Обзор
Уязвимость обхода пути в функциональности распаковки/извлечения затронутого приложения позволяет злоумышленнику записывать файлы в произвольные места файловой системы во время извлечения архива. Поскольку процедура извлечения не проверяет пути назначения внутри ZIP-записей, злоумышленник может создать ZIP-архивы, содержащие последовательности обхода (например, ../../routes) или абсолютные пути. После обработки приложением эти файлы извлекаются непосредственно в указанные места с правами запущенного процесса.
Эта ошибка может быть использована для перезаписи существующих файлов, внедрения исполняемых полезных нагрузок или изменения поведения приложения, что потенциально может привести к удаленному выполнению кода.
🧱 Затронутый компонент
- Проект:
laravel-file-manager
- Компонент: zip/archiving Functionf
- Затронутая версия: v3.3.1 и ниже
🎯 Векторы атаки
- Злоумышленник загружает или предоставляет ZIP-архив конечной точке распаковки приложения (аутентификация может требоваться или не требоваться в зависимости от конфигурации).
- Изменяет полезную нагрузку запроса UNZIP, чтобы включить последовательности обхода каталогов, такие как ../../routes.
- Логика извлечения на серверной стороне разрешает эти пути без проверки и записывает файлы непосредственно в указанные места.
- Существующие файлы могут быть молча перезаписаны при совпадении имен файлов.
- Злоумышленник получает возможность заменять файлы приложения, записывать веб-шеллы или изменять критические файлы конфигурации.
💥 Воздействие
- Произвольная запись файлов: Файлы могут быть записаны в любом месте, доступном для записи пользователю приложения (например, www-data).
- Перезапись файлов: Злоумышленники могут перезаписывать легитимные файлы приложения, включая маршруты, контроллеры или конфигурацию.
- Удаленное выполнение кода: Записывая PHP, JSP или другие исполняемые веб-полезные нагрузки в корневой каталог веб-сервера, злоумышленник может добиться полного выполнения кода.
- Компрометация приложения: Изменение точек входа, таких как index.php, может изменить логику сайта или внедрить постоянные бэкдоры.
- Повышение привилегий (косвенное): Перезапись файлов конфигурации/переменных окружения может раскрыть секреты, позволяющие дальнейшее горизонтальное перемещение.
Серьёзность: Критическая
Базовый балл: 9.1
Вектор: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
🛡️ Рекомендуемые меры по устранению
- Реализуйте проверку канонических путей: нормализуйте запрашиваемые пути к файлам и обеспечьте строгое ограничение назначенным корневым хранилищем проекта.
- Отклоняйте любые пути, содержащие последовательности обхода (../, %2e%2e/, вложенный обход).
- Применяйте серверную логику на основе списка разрешений
- Обновитесь до исправленной версии, как только вендор выпустит исправление, устраняющее эту слабость обхода пути.
🙏 Благодарности
Обнаружено и сообщено: Theethat Thamwasin