Path Traversal в QcalAgent (CVE-2026-41544) ведёт к побегу из Docker и RCE на хосте
В продукте QcalAgent компании QNAP Systems Inc. выявлена опасная уязвимость класса Path Traversal, получившая идентификатор CVE-2026-41544 и оценку CVSS 8.7 (HIGH). Особенность этой проблемы в том, что она не ограничивается чтением файлов: цепочка эксплуатации позволяет перемещать произвольные файлы, совершать побег из контейнера Docker и в итоге выполнять произвольный код на хост-системе.
Подробности
Уязвимость затрагивает QcalAgent — компонент, работающий с календарём и загрузкой файлов. Проблема локализована в эндпоинте /calapi/renameUpload, который некорректно обрабатывает пути к файлам при переименовании загруженных объектов. Из-за отсутствия должной нормализации пути атакующий может выйти за пределы выделенного каталога (path traversal).
По данным производителя, для эксплуатации удалённому злоумышленнику необходимо сначала получить пользовательскую учётную запись. Однако при наличии такой учётной записи последствия серьёзны: злоумышленник может читать содержимое неожиданных файлов и системных данных, а также перемещать произвольные файлы. Как указано в заголовке CVE, комбинация произвольного перемещения файлов с побегом из Docker (Docker Escape) позволяет добраться до выполнения кода на хосте (Host RCE).
Уязвимости присвоена базовая оценка 8.7 по шкале CVSS, что соответствует высокому уровню критичности. Затронуты версии QcalAgent до 1.1.10.
Что делать
Производитель уже выпустил исправление. Рекомендуется обновить QcalAgent до версии 1.1.10 или более поздней — именно в ней уязвимость устранена.
Дополнительные меры, снижающие риск до установки патча:
- Ограничить доступ к интерфейсу QcalAgent и эндпоинту
/calapi/renameUploadдоверенными сегментами сети, не публиковать его в интернет. - Провести ревизию пользовательских учётных записей и ужесточить политику аутентификации: поскольку эксплуатация возможна после получения аккаунта, лишние и слабо защищённые учётные записи повышают риск.
- Отслеживать подозрительную активность в логах, связанную с операциями переименования и перемещения загруженных файлов.
- Учитывать риск для контейнерных развёртываний: ограничить привилегии контейнера и доступ к хостовой файловой системе средствами изоляции.
Итог: CVE-2026-41544 — серьёзная уязвимость в QcalAgent, способная привести к компрометации хост-системы, а не только отдельного сервиса. Даже при требовании наличия учётной записи для эксплуатации комбинация Path Traversal, произвольного перемещения файлов и побега из Docker делает угрозу высокой. Единственное надёжное решение — обновление до QcalAgent 1.1.10 и новее, дополненное сетевой изоляцией сервиса.
Источник: CVE Project (cvelistV5)
