CVE-2026-105628: SSRF в Plane через OAuth-аватары ведёт к утечке внутренних данных
В open-source платформе управления проектами Plane до версии 1.4.0 обнаружена уязвимость SSRF (CVE-2026-105628) с оценкой CVSS 7.6. Атакующий может через OAuth-аватар заставить сервер обратиться к внутренним ресурсам и выгрузить полученные данные через публичный endpoint статики. Проблема затрагивает все инсталляции Plane младше 1.4.0.
Подробности
Уязвимость затрагивает продукт makeplane plane во всех версиях до 1.4.0. Механизм синхронизации аватаров при OAuth-аутентификации извлекает поле avatar_url из данных пользователя, полученных от провайдера, и выполняет по этому адресу серверный HTTP-запрос. При этом отсутствует валидация внутренних IP-адресов, а сервер по умолчанию следует редиректам. Это позволяет атакующему указать в качестве avatar_url URL, который перенаправляет запрос на внутренний ресурс — например, на metadata-эндпоинт облачной инфраструктуры. Ответ, полученный сервером, сохраняется как файл аватара пользователя. В дальнейшем этот объект становится доступен через публичный маршрут /api/assets/v2/static/{asset_id}/, что даёт возможность эксфильтрации содержимого, извлечённого из внутренней сети. Таким образом, эксплуатация не требует прямой аутентификации во внутренних сервисах: достаточно контролировать внешний URL аватара, который будет обработан при OAuth-входе. Комбинация SSRF и последующей публичной отдачи сохранённого файла превращает уязвимость в полноценный канал утечки внутренних данных, включая потенциально чувствительную информацию из metadata-сервисов.Что делать
Основная рекомендация — обновить Plane до версии 1.4.0 или выше, в которой проблема устранена. Это наиболее надёжный и полный способ закрыть уязвимость. Если немедленное обновление невозможно, следует рассмотреть временные митигации: — ограничить на сетевом уровне исходящие запросы сервера Plane к внутренним диапазонам адресов и metadata-эндпоинтам (например, 169.254.169.254); — по возможности отключить или ограничить синхронизацию аватаров из внешних OAuth-источников; — ограничить доступ к маршруту /api/assets/v2/static/ на периметре, если он не требуется публично; — включить мониторинг исходящих HTTP-запросов приложения на предмет обращений к внутренним адресам. Важно понимать, что перечисленные меры являются обходными и не заменяют установку исправленной версии. Итог: CVE-2026-105628 — серьёзная SSRF-уязвимость в Plane, позволяющая через манипуляцию URL аватара вытягивать внутренние данные и получать их через публичный статический endpoint. Всем организациям, использующим Plane версий ниже 1.4.0, рекомендуется приоритетно обновиться до 1.4.0 и проверить сетевые ограничения на исходящий трафик.Источник: CVE Project (cvelistV5)
