Admidio — это решение для управления пользователями с открытым исходным кодом. В версиях с 5.0.0 по 5.0.6 модуль документов и файлов не проверяет, есть ли у текущего пользователя разрешение на удаление папок или файлов. Обработчики действийfolder_delete и file_delete в модулях/documents-files.php выполняют только проверку авторизации VIEW (getFolderForDownload/getFileForDownload) перед вызовом delete() и никогда не проверяют токен CSRF.
Поскольку целевые UUID считываются из $_GET, удаление может быть инициировано простым HTTP-запросом GET. Когда модуль находится в общедоступном режиме (documents_files_module_enabled = 1) и папка помечена как общедоступная (fol_public = true), неаутентифицированный злоумышленник может навсегда уничтожить всю библиотеку документов. Даже если модуль требует входа в систему, любой пользователь с доступом только для просмотра может удалить контент, который ему разрешено только читать.
Эта проблема исправлена в версии 5.0.7.
Показать оригинальное описание (EN)
Admidio is an open-source user management solution. In versions 5.0.0 through 5.0.6, the documents and files module does not verify whether the current user has permission to delete folders or files. The folder_delete and file_delete action handlers in modules/documents-files.php only perform a VIEW authorization check (getFolderForDownload / getFileForDownload) before calling delete(), and they never validate a CSRF token. Because the target UUIDs are read from $_GET, deletion can be triggered by a plain HTTP GET request. When the module is in public mode (documents_files_module_enabled = 1) and a folder is marked public (fol_public = true), an unauthenticated attacker can permanently destroy the entire document library. Even when the module requires login, any user with view-only access can delete content they are only permitted to read. This issue has been fixed in version 5.0.7.
Характеристики атаки
Последствия
Строка CVSS v3.1