Уязвимость SSRF в LMDeploy: от публикации до атаки за 12 с половиной часов

information security

Эксплуатация недавно раскрытой уязвимости в инструменте для развертывания больших языковых моделей (LLM) LMDeploy была зафиксирована менее чем через 13 часов после публикации официального оповещения на платформе GitHub. Этот инцидент демонстрирует тревожную тенденцию: время между раскрытием информации об уязвимости и её практическим применением продолжает сокращаться, и теперь речь идет уже не о днях, а о часах.

Описание

Уязвимость, получившая идентификатор CVE-2026-33626 и классифицированная как подмена запроса на стороне сервера (SSRF), затрагивает библиотеку LMDeploy - среду для обслуживания моделей компьютерного зрения и больших языковых моделей, разработанную Шанхайской лабораторией искусственного интеллекта (InternLM). Критическая проблема заключается в отсутствии проверок при загрузке изображений: сервер, обрабатывающий запросы к мультимодальной модели по стандартному API, совместимому с OpenAI, доверчиво обращается по любому URL-адресу, указанному пользователем в поле image_url.

Хронология событий выглядит следующим образом. 18 апреля 2026 года на уровне репозитория было опубликовано предупреждение безопасности на GitHub (GHSA). Однако, как отмечают исследователи, обнаружить такое предупреждение можно только при целенаправленном мониторинге конкретного репозитория. 20 апреля уязвимости был присвоен номер CVE в национальной базе уязвимостей. Настоящая же тревога началась 21 апреля, когда в 15:04 по всемирному координированному времени оповещение появилось на основной странице GitHub Advisory Database - именно с этого момента информация стала доступна широкой публике.

Сотрудники исследовательской группы Sysdig Threat Research Team (TRT) оперативно развернули приманку (honeypot) с уязвимой версией LMDeploy. Уже через 12 часов и 31 минуту после публикации, в 3:35 ночи 22 апреля, с IP-адреса 103.116.72.119 поступил первый эксплуатационный запрос. Примечательно, что на тот момент в открытом доступе не существовало ни одного доказательства концепции (PoC) для этой уязвимости. Злоумышленник, вероятно, сумел воссоздать эксплойт, основываясь исключительно на тексте официального оповещения, которое содержало название уязвимого файла, имя параметра и пояснение корневой причины.

Исследователи из Sysdig в опубликованном отчёте детально описали атаку. Она оказалась не просто проверкой наличия уязвимости, а полноценной операцией, занявшей всего 8 минут. Атакующий использовал функцию загрузки изображений как универсальный HTTP-примитив для проведения сканирования внутренней сети сервера.

Атака прошла в три этапа. На первом этапе злоумышленник обратился к сервису метаданных облачных экземпляров AWS (IMDS) по адресу 169.254.169[.]254, пытаясь получить временные учётные данные IAM, привязанные к серверу. Затем последовала проверка порта 6379 - стандартного порта Redis, что является классическим приёмом в цепочках SSRF-атак. Спустя две минуты, на втором этапе, была выполнена проверка исходящего трафика с использованием внешнего сервиса регистрации DNS-запросов. После этого атакующий изучил схему OpenAPI сервера, обнаружив административные конечные точки, в том числе те, что отвечают за управление кластером. На третьем этапе злоумышленник выполнил отправку запроса к конечной точке, отвечающей за отключение однорангового узла в распределённой архитектуре LMDeploy, а затем за 36 секунд провёл сканирование портов на локальном интерфейсе, проверив наличие HTTP-административной панели (порт 8080), сервера базы данных MySQL (порт 3306) и веб-сервера (порт 80).

Для администраторов и специалистов по безопасности этот инцидент имеет несколько критических последствий. Во-первых, уязвимости в среде искусственного интеллекта теперь эксплуатируются быстрее, чем во многих других компонентах инфраструктуры. Во-вторых, наличие текстового описания уязвимости в эпоху генеративного искусственного интеллекта стало эквивалентом готового эксплойта: современные кодовые модели способны самостоятельно сгенерировать рабочий код атаки на основе такого описания. В-третьих, уязвимость класса SSRF на узле, обслуживающем модели машинного обучения, открывает злоумышленнику доступ не только к облачной инфраструктуре через получение токенов IAM, но и к внутренним дата-сторам (Redis, MySQL), а также позволяет нарушить работу самого сервера, отключив критически важные каналы связи между вычислительными модулями.

Рекомендации для администраторов включают немедленное обновление до версии LMDeploy 0.12.3, применение IMDSv2 для защиты метаданных облака, жёсткое ограничение исходящего трафика с вычислительных узлов, использующих GPU, а также пересмотр списка инструментов, связанных с искусственным интеллектом, в своей инфраструктуре. Многие из них развёртываются в обход стандартных процедур безопасности и не попадают под регулярное сканирование на наличие уязвимостей.

Текущая ситуация с CVE-2026-33626 подтверждает, что традиционный подход к управлению исправлениями с ежемесячными обновлениями более не актуален для сферы искусственного интеллекта. Время между публикацией уязвимости и её эксплуатацией сократилось до нескольких часов.

Индикаторы компрометации

IPv4

  • 103.116.72.119

Domains

  • cw2mhnbd.requestrepo.com

URLs

  • http://169.254.169.254/latest/meta-data/iam/security-credentials/
  • http://cw2mhnbd.requestrepo.com
Комментарии: 0