Admidio — это решение для управления пользователями с открытым исходным кодом. До версии 5.0.10 `modules/documents-files.php` блокирует режимы изменения состояния, проверяя, что у актера есть `hasUploadRight()` в параметре URL `folder_uuid`. Затем обработчик `move_save` работает с *отдельным* параметром URL `file_uuid` и вызывает `File::moveToFolder($destFolderUUID)`. `File::moveToFolder()` проверяет право загрузки в папке назначения, но никогда в исходной папке, содержащей файл.
В результате любой пользователь, который может загружать файлы в любую отдельную папку, может переместить любой файл из любой другой папки, включая личные папки, на просмотр которых у него нет прав, в папку, которую он контролирует, а затем загрузить его. Конфиденциальность нарушена (утечка содержимого частного файла) и целостность нарушена (файл удален из исходного местоположения). Версия 5.0.10 содержит исправление.
Показать оригинальное описание (EN)
Admidio is an open-source user management solution. Prior to version 5.0.10, `modules/documents-files.php` gates state-changing modes by checking that the actor has `hasUploadRight()` on the URL parameter `folder_uuid`. The `move_save` handler then operates on a *separate* URL parameter `file_uuid` and calls `File::moveToFolder($destFolderUUID)`. `File::moveToFolder()` checks the upload right on the destination folder but never on the source folder containing the file. As a result, any user who can upload to any single folder can move any file from any other folder — including private folders to which they have no view rights — into a folder they control, and then download it. Confidentiality is broken (private file contents leak) and integrity is broken (the file is removed from the original location). Version 5.0.10 contains a fix.
Характеристики атаки
Последствия
Строка CVSS v3.1