• Добро пожаловать на сайт - Forumteam.bet !

    Что бы просматривать темы форума необходимо зарегестрироваться или войти в свой аккаунт.

    Группа в телеграме (подпишитесь, что бы не потерять нас) - ForumTeam Chat [Подписатся]
    Связь с администратором - @ftmadmin

Уязвимость BadHost во фреймворке Starlette представляет угрозу для ИИ-агентов

Article Publisher

Публикатор
Команда форума
Регистрация
05.02.25
Исследователи предупреждают о критической уязвимости CVE-2026-48710, которая была обнаружена в опенсорсном фреймворке Starlette и получила название BadHost. Поскольку Starlette лежит в основе FastAPI и множества популярных ИИ-инструментов, проблема создает риски для миллионов серверов и ИИ-агентов, а эксплуатация бага сводится к одному символу в HTTP-заголовке Host.

Starlette представляет собой реализацию ASGI (Asynchronous Server Gateway Interface), используемую для обработки большого числа одновременных запросов. Согласно данным разработчиков проекта, пакет скачивают около 325 млн раз в неделю.


Проблему обнаружили специалисты X41 D-Sec, а исследователи Secwest дали ей имя BadHost. Хотя уязвимость набрала только 7 баллов по шкале CVSS, специалисты считают эту оценку заниженной и называют проблему критической.

Помимо FastAPI, уязвимость затрагивает vLLM, LiteLLM, MCP-серверы, OpenAI-совместимые прокси, различные среды выполнения ИИ-агентов, панели оценки моделей и другие инструменты ИИ-экосистемы.

Уязвимость связана с тем, как Starlette до версии 1.0.1 собирает объект request.url. Фреймворк берет значение из HTTP-заголовка Host, добавляет к нему путь из запроса и не проверяет, что сам Host валиден. Из-за этого атакующий может передать в Host не только домен, но и фрагмент пути.

Например, запрос может идти на защищенный эндпоинт /protected, но из-за заголовка вида Host: example.com/health?x= Starlette соберет URL таким образом, что request.url.path будет выглядеть как /health. При этом роутинг все равно сработает по настоящему HTTP-пути — /protected.

Если приложение или промежуточное ПО принимает решения об авторизации на основе request.url.path, а не посредством scope["path"], проверка может «увидеть» якобы безопасный путь и пропустить запрос дальше. В результате атакующий сможет обойти механизм авторизации, который опирается на путь запроса.

По словам исследователей, уязвимость позволяет обходить аутентификацию, проводить SSRF-атаки, а в некоторых случаях даже может привести к удаленному выполнению кода.

Особенно опасной специалисты считают ситуацию с MCP-серверами (Model Context Protocol), которые дают ИИ-агентам доступ к внешним системам: почте, календарям, корпоративным сервисам, облачным хранилищам и внутренним базам данных. Такие серверы обычно хранят API-ключи, токены и учетные данные для сторонних сервисов, что делает их крайне привлекательной целью для злоумышленников.

Исследователь X41 D-Sec Маркус Вервир (Markus Vervier) сообщил СМИ, что во время сканирования уязвимых систем уже удалось обнаружить доступ к самым разным данным и инфраструктурам. Среди них:

  • клинические базы данных и M&A-документы биофармацевтических компаний;
  • системы верификации личности с PII и кодовыми базами;
  • IoT- и промышленные системы с SSH-доступом;
  • почтовые сервисы и SaaS-платформы;
  • HR-системы с персональными данными кандидатов;
  • облачные мониторинговые платформы с данными AWS;
  • системы документооборота;
  • ИБ-инфраструктура с доступом к сканерам Nuclei и реестрам активов.
Уязвимыми считаются все версии Starlette до 1.0.1, в которой разработчики добавили проверку некорректных Host-заголовков.

X41 D-Sec совместно со специалистами компании Nemesis уже запустили онлайн-сканер для проверки серверов на уязвимость перед проблемой BadHost. Исследователи рекомендуют срочно обновить Starlette, а владельцам FastAPI-, LiteLLM- и vLLM-инфраструктуры — проверить свои системы на наличие уязвимых компонентов.
 
Сверху Снизу