В серверной части Nextcloud обнаружили уязвимость, из-за которой предпросмотр испорченных файлов приводит к удалённому выполнению кода в библиотеке ImageMagick, наборе инструментов для работы с изображениями. Злоумышленник получает возможность записывать на диск произвольные файлы и применять их для дальнейших атак. Издатель оценивает угрозу как высокую, бюллетень вышел под номером GHSA-7hwf-8pcj-33h4. Затронуты обычная и корпоративная редакции Nextcloud Server, исправления доступны в ветках 32, 33 и 34.
Детали уязвимости
Механика связана с расширением Imagick, через которое сервер строит уменьшенные копии картинок и документов. Когда кто-то запрашивает предпросмотр заведомо повреждённого файла, ImageMagick версий до 6.9.13-48 и 7.1.2-24 не справляется с разбором содержимого. Аккуратного отказа не происходит: возникает ошибка работы с памятью, а вместе с ней и условие для исполнения чужого кода. Записав на диск нужные файлы, атакующий развивает атаку дальше, вплоть до полного контроля над узлом.
Ограничение здесь заметное. Опасны только обработчики предпросмотра для форматов HEIC, Illustrator, PDF, Photoshop, Postscript, SGI, TGA и TIFF, а все они по умолчанию отключены. Кроме того, нападающему нужен либо действующий аккаунт, либо ссылка на папку с правом записи. Поэтому атака из внешней сети маловероятна, зато внутренний нарушитель или владелец гостевого доступа получает рабочий инструмент. Вектор атаки по классификации CVSS, системы оценки уязвимостей, отнесён к смежным сетям: нападающий действует из того же сегмента, что и цель. Сложность эксплуатации низкая, права требуются минимальные, участие пользователя тоже требуется.
Nextcloud часто разворачивают на собственных серверах, а не в чужих облаках. Компании, госучреждения и вузы держат там договоры, проекты, кадровые документы и переписку сотрудников. Превью картинок и файлов в такой системе работают постоянно, и мало кто проверяет, какие именно обработчики за них отвечают. Отсюда и практический риск: уязвимость прячется не в коде самого хранилища, а в сторонней библиотеке, которую администраторы редко обновляют отдельно от платформы. Ошибка в одном вспомогательном компоненте открывает доступ ко всему массиву данных, который ему доверили обрабатывать.
Тип уязвимости описан как CWE-1395. Речь о зависимости от чужого компонента, который сам содержит уязвимости. Идентификатор CVE проблеме пока не присвоили, поэтому отслеживать её по базам уязвимостей сложнее обычного. Нашёл проблему Йордан Ганчев из компании watchTowr. Сведений о реальной эксплуатации издатель не приводит, но и подтверждения, что уязвимость остаётся теоретической, в бюллетене нет.
Исправления вышли в сборках 32.0.13, 33.0.7 и 34.0.2. Для корпоративной редакции обновления выпустили во всех поддерживаемых ветках, начиная с 22-й: например, 22.2.10.42 и 23.0.12.38, вплоть до 31.0.14.8. Выпуск закрывает и более старые ветки, которые давно не получали новых возможностей, но продолжают работать у заказчиков с длинной поддержкой.
Если обновление откладывается, администратору доступны обходные пути. Достаточно любого из них: убрать расширение Imagick из PHP, полностью отключить предпросмотр в настройках сервера либо исключить из списка обработчиков форматы, о которых шла речь выше. Последний вариант самый мягкий, поскольку остальные типы файлов продолжат показываться в уменьшенных копиях. Отключение предпросмотра целиком снимает риск, однако заметно бьёт по удобству работы с документами и фотографиями. Обновить стоит и саму ImageMagick: хранилище на новой сборке со старой библиотекой останется уязвимым.
Предпросмотр файлов давно стал отдельной поверхностью атаки. Сервер разбирает содержимое, присланное пользователем, и делает это автоматически, без участия человека. Библиотеки для работы с изображениями и документами регулярно становятся источником подобных проблем, потому что поддерживают десятки форматов со сложной структурой. Плата за удобство высока: успешная атака даёт доступ к файлам всех пользователей, а через них к внутренней сети организации. Администраторам имеет смысл сверить список активных обработчиков предпросмотра и версию библиотеки, даже если обновление платформы запланировано на ближайшие дни.
Обновление закрывает уязвимость только у тех, кто перейдёт на новые сборки. Серверы, оставшиеся на прежних версиях с включёнными обработчиками PDF и TIFF, сохраняют риск, и в первую очередь это касается организаций, которые выдают гостевые ссылки наружу. Заглянуть в настройки предпросмотра и проверить версию ImageMagick стоит сейчас, не дожидаясь следующего планового обслуживания.
Ссылки