Mastodon Mastodon Mastodon Mastodon

Вразливість у Bifrost дозволяє виконувати команди без автентифікації через реєстрацію MCP-клієнта

Photo of author

CyberSecureFox Editorial Team

Опубліковано:

В open source AI-шлюзі Bifrost, що маршрутизує запити до більш ніж 20 провайдерів великих мовних моделей, виявлено дві вразливості, які дозволяють неавтентифікованому зловмиснику виконувати довільні команди на сервері. Найнебезпечніша з них — CVE-2026-90898 — експлуатується одним HTTP-запитом до API керування за конфігурації за замовчуванням. За даними JFrog Security Research, оцінка CVSS становить 9.8. Виправлення доступне у версії transports/v2.1.0. Операторам, які використовують Bifrost із вимкненою автентифікацією API керування (налаштування за замовчуванням), слід негайно оновитися або застосувати тимчасові рішення.

Технічні деталі вразливостей

CVE-2026-90898: виконання команд через реєстрацію MCP-клієнта

Дослідник Юваль Моравчик із JFrog виявив, що за вимкненої автентифікації API керування (параметр governance.auth_config.is_enabled за замовчуванням установлений у false) зловмисник може надіслати єдиний POST-запит на ендпоінт /api/mcp/client і зареєструвати MCP-клієнта типу stdio. Bifrost негайно запускає вказану в запиті команду від імені процесу шлюзу — ще до завершення MCP-handshake. В офіційному Docker-образі процес виконується від користувача appuser.

Уразливі всі версії Bifrost HTTP transport до 2.1.0 включно, зокрема версія 2.0.0 і лінійка 1.6.x аж до 1.6.11. Оскільки шлюз зберігає API-ключі підключених провайдерів, виконання команд у контексті процесу шлюзу потенційно дає зловмиснику доступ до цих облікових даних.

CVE-2026-86242: завантаження шкідливого плагіна по HTTP

Друга вразливість, CVE-2026-86242, була розкрита JFrog 6 вересня. За даними дослідників, оцінка CVSS — 8.1. Неавтентифікований зловмисник може зареєструвати користувацький плагін, указавши HTTP-адресу як шлях. Bifrost завантажує файл, записує його як тимчасовий розділюваний об’єкт і підвантажує через функцію plugin.Open у Go.

Вплив залежить від типу збірки: на динамічно скомпонованих збірках (необхідних для користувацьких Go-плагінів) завантажений код виконується від імені процесу шлюзу. На статично скомпонованих збірках, включно з офіційним Docker-образом, plugin.Open завершується помилкою, і вразливість зводиться до підроблення серверних запитів (SSRF). Виправлення доступне, починаючи з transports/v2.0.0.

Відмінності в пріоритеті патчів

Дві вразливості вимагають різних рішень щодо оновлення. CVE-2026-90898 усувається лише у версії transports/v2.1.0 — проміжна версія 2.0.0 усе ще вразлива. CVE-2026-86242 виправлена вже в transports/v2.0.0. При цьому для типової експлуатації на основі офіційного Docker-образу (статична компоновка) саме CVE-2026-90898 становить найбільшу загрозу: шлях до виконання довільних команд працює на цьому образі без додаткових умов. Шлях до віддаленого виконання коду через CVE-2026-86242 на тому самому образі блокується і зводиться лише до SSRF. Таким чином, оновлення до transports/v2.1.0 закриває обидві вразливості й має бути пріоритетним.

Мережева експозиція: бінарний файл і Docker

Рівень доступності API керування залежить від способу розгортання. Стандартний бінарний файл Bifrost прив’язує API керування до localhost, обмежуючи доступ локальною машиною. Офіційний Docker-образ прив’язує його до 0.0.0.0 — якщо порт опублікований, API стає доступним ззовні контейнера. Ця відмінність критично важлива під час оцінки реального ризику: контейнерні розгортання з опублікованим портом керування піддаються віддаленій експлуатації без будь-яких додаткових умов.

Контекст: третя вразливість за місяць

Обидві вразливості мають одну кореневу причину — API керування Bifrost постачається з вимкненою автентифікацією за замовчуванням. Це вже друга і третя проблеми безпеки, розкриті в проєкті менш ніж за місяць: раніше, наприкінці серпня, була виправлена непов’язана SSRF-вразливість CVE-2026-55245 (деталі щодо неї підтверджені лише вихідним новинним матеріалом; первинний бюлетень безпеки не отримано).

На момент публікації жодна з вразливостей Bifrost не внесена до каталогу CISA KEV, і незалежних свідчень активної експлуатації не виявлено. Водночас існують публічні докази концепції, а подібна вразливість ін’єкції команд в іншому AI-шлюзі LiteLLM, за даними вихідного матеріалу, була додана до каталогу CISA KEV у червні 2026 року після підтвердженої експлуатації.

Рекомендації

  • Оновіть Bifrost HTTP transport до версії transports/v2.1.0 — це закриває обидві вразливості. Версія 2.0.0 усуває лише CVE-2026-86242.
  • Якщо негайне оновлення неможливе — увімкніть автентифікацію API керування: встановіть governance.auth_config.is_enabled у true і задайте надійні облікові дані.
  • Обмежте мережевий доступ до API керування: не публікуйте порт керування в недовірені мережі, особливо в Docker-розгортаннях.
  • JFrog рекомендує вважати скомпрометованим будь-який екземпляр, який працював із вимкненою автентифікацією та доступним ззовні API керування. У таких випадках необхідно ротувати віртуальні ключі й API-ключі провайдерів.
  • Лінійка 1.6.x аж до 1.6.11 не містить жодного з виправлень — міграція на 2.1.0 є обов’язковою.

Обидві вразливості Bifrost — наслідок архітектурного рішення постачати API керування без автентифікації за замовчуванням. Для операторів, які використовують Bifrost у контейнерних середовищах з опублікованим портом керування, єдина надійна дія — оновлення до transports/v2.1.0 з одночасною ротацією всіх ключів провайдерів, якщо екземпляр міг бути доступний ззовні.


CyberSecureFox Editorial Team

Редакція CyberSecureFox висвітлює новини кібербезпеки, уразливості, malware-кампанії, ransomware-активність, AI security, cloud security та security advisories вендорів. Матеріали готуються на основі official advisories, даних CVE/NVD, сповіщень CISA, публікацій вендорів і відкритих звітів дослідників. Статті перевіряються перед публікацією та оновлюються за появи нових даних.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.