phpMyFAQ — это веб-приложение часто задаваемых вопросов с открытым исходным кодом. До версии 4.1.1 метод MediaBrowserController::index() обрабатывал удаление файлов для медиабраузера. Когда запускается действие fileRemove, введенный пользователем параметр имени объединяется с путем к базовому каталогу загрузки без какой-либо проверки прохождения пути.
Фильтр FILTER_SANITIZE_SPECIAL_CHARS кодирует только специальные символы HTML (&, ', ", <, >) и символы со значением ASCII < 32 и не предотвращает последовательности обхода каталога, такие как ../. Кроме того, конечная точка не проверяет токены CSRF, что делает их пригодными для использования с помощью атак CSRF. Эта проблема исправлена в версии 4.1.1.
Показать оригинальное описание (EN)
phpMyFAQ is an open source FAQ web application. Prior to version 4.1.1, the MediaBrowserController::index() method handles file deletion for the media browser. When the fileRemove action is triggered, the user-supplied name parameter is concatenated with the base upload directory path without any path traversal validation. The FILTER_SANITIZE_SPECIAL_CHARS filter only encodes HTML special characters (&, ', ", <, >) and characters with ASCII value < 32, and does not prevent directory traversal sequences like ../. Additionally, the endpoint does not validate CSRF tokens, making it exploitable via CSRF attacks. This issue has been patched in version 4.1.1.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Phpmyfaq Phpmyfaq
cpe:2.3:a:phpmyfaq:phpmyfaq:*:*:*:*:*:*:*:*
|
— |
4.1.1
|