На серверах Nextcloud нашли критичную ошибку во встроенном модуле Collabora Online - Built-in CODE Server. Через неё злоумышленники ставили web shell и получали возможность выполнять команды от имени веб-сервера.

Проблема затронула установки, где этот модуль запускает локальный сервер документов на самом хосте. По данным Collabora, уязвимы версии до 26.4.303; простое отключение модуля не закрывает дыру — его нужно обновить или удалить.

Что это за уязвимость

Речь идёт не о самом Nextcloud, а об опциональном приложении для работы с документами. Встроенный CODE Server нужен для Nextcloud Office, когда система поднимает локальную копию Collabora прямо на том же сервере.

Для атакующего это удобная точка входа. Если локальный документ-сервер в этот момент не запущен — например, после перезапуска, обновления или сбоя — запрос без авторизации может дойти до уязвимого кода и превратиться в команду на сервере.

Именно так на машинах появлялся web shell — маленький PHP-файл, который принимает команду из HTTP-запроса и выполняет её с правами веб-процесса.

Как это работало технически

Слабое место оказалось в скрипте proxy.php. Когда сервис нужно было стартовать, скрипт собирал команду запуска и подставлял в неё данные из запроса, включая путь. В старых версиях оболочка bash всё ещё разворачивала конструкции вроде $(...).

Это значило, что злоумышленник мог спрятать команду прямо в URL. Дальше сервер сам запускал нужную ему нагрузку, если CODE Server был остановлен.

Collabora исправила ошибку в версии 26.4.303. Позже компания выпустила предупреждение с идентификатором CVE-2026-110447 и отдельно подчеркнула: не поможет ни выключение приложения в интерфейсе, ни надежда на «тихую» неактивность модуля.

Почему это опасно

Опасность здесь не в одном файле, а в доступе к файловой системе от имени веб-сервера. Если атакующий уже положил web shell, он может искать пароли, ключи, кошельки и другие чувствительные данные, которые доступны этому пользователю.

В одном из инцидентов злоумышленник искал хранилища учётных данных и криптокошельки, включая файлы формата *.kdbx, wallet.dat и keystore.json. Даже если прямой выгрузки данных в логах не видно, считать систему чистой уже нельзя.

Похожую логику мы уже разбирали в материале про дыру в почтовом шлюзе Cisco: как только уязвимость попадает в боевую эксплуатацию, вопрос измеряется не днями, а часами.

Как понять, касается ли это вас

Проверять нужно не только сам факт использования Nextcloud, но и способ развёртывания офисного модуля. Если у вас стоит именно Collabora Online - Built-in CODE Server, а не отдельный сервер Collabora, риск есть.

Под ударом оказались версии до 26.4.303. Особенно уязвимы случаи, когда сервер перезапускали, обновляли или он падал — именно в такие моменты атакующий успевал подсунуть команду.

Тревожные признаки тоже довольно конкретны: неожиданные PHP-файлы вида shx*.php в каталоге apps/richdocumentscode, подозрительные запросы к proxy.php?status и странная активность в логах от имени веб-сервера.

Как защититься

Первый шаг — обновить модуль до 26.4.303 или новее. Если обновление невозможно, приложение лучше удалить. Для Nextcloud 29 и старше это особенно важно: там нужная версия уже не ставится, поэтому остаётся только апгрейд самой платформы или отказ от встроенного CODE Server.

Дальше нужно проверить сервер на следы вторжения. Ищите файлы shx*.php, просмотрите логи минимум с 10 сентября и обратите внимание на запросы с %2e%2e, $( и ${IFS} в пути. Если видите попытки запуска sudo от имени веб-процесса, относитесь к машине как к потенциально скомпрометированной.

Для корпоративной среды полезно развести веб-публикацию, офисные сервисы и хранение секретов по разным узлам. Чем меньше привилегий у веб-процесса, тем меньше ущерб от такой ошибки.

В отдельных сценариях, особенно когда администраторы подключаются к панели из чужой сети или с публичной точки доступа, помогает [дополнительный слой защиты для удалённой работы]https://freedome.space. Это не лечит уязвимость, но снижает риск перехвата учётных данных в пути.

Практический чек-лист

  • Проверьте, установлен ли у вас именно Collabora Online - Built-in CODE Server.
  • Убедитесь, что версия не ниже 26.4.303.
  • Если обновиться нельзя, удалите встроенный модуль.
  • Просмотрите каталог apps/richdocumentscode на наличие файлов shx*.php.
  • Проверьте логи запросов к proxy.php?status минимум с 10 сентября.
  • Ищите в логах маркеры %2e%2e, $(, ${IFS} и странные попытки запуска команд.
  • После инцидента смените пароли и проверьте секреты, к которым мог получить доступ веб-процесс.
  • Разделите офисные сервисы и критичные данные по разным системам доступа.

Если у вас уже есть инцидент-план, добавьте в него проверку web shell и сверку целостности файлов. Для серверных атак это часто быстрее, чем разбираться постфактум, что именно успели унести.

Поделиться: