RCE-вразливість у SGLang відкрила зловмиснику inference-сервер NEAR AI: дані ~100 користувачів, 18 агентів і 2 API-ключі. Розбір інциденту й захист.
У неділю, 8 листопада 2026 року, зловмисник скористався вразливістю типу remote code execution (RCE) в SGLang — популярному open-source движку для інференсу великих мовних моделей — і отримав виконання коду на одному з inference-серверів платформи NEAR AI. Це не теоретична загроза і не лабораторний PoC: атакувальник реально пройшов від одного зламаного сервера до внутрішніх систем, викрав облікові дані близько сотні користувачів і дістався до даних 18 AI-агентів.
Інцидент цінний не масштабом — постраждало порівняно небагато людей, — а уроком, який він дає всій індустрії: «конфіденційні обчислення» у довіреному середовищі (TEE) не захищають від вразливості в програмному забезпеченні, що працює всередині цього середовища. Розберімо, що сталося, чому це стало можливим і як захистити власні системи.
Що сталося
NEAR AI — підрозділ екосистеми NEAR Protocol, який розробляє інфраструктуру для роботи з AI-агентами та надає хмарний сервіс інференсу NEAR AI Cloud. У своєму офіційному звіті про інцидент, опублікованому 9 листопада, компанія повідомила: неавторизована сторона використала RCE-вразливість у SGLang — відкритому движку інференсу, що працює на її серверах, — і виконала код на одному inference-сервері.
Далі, за даними розслідування, атакувальник перемістився зі зламаного сервера в інші частини інфраструктури. Першим пунктом призначення стала внутрішня система за вже виведеним з експлуатації продуктом Private Chat — застарілий застосунок, який компанія давно припинила підтримувати, але який лишився під'єднаним до внутрішньої мережі. Саме звідти зловмисник завантажив облікові дані користувачів.
Окремий тривожний момент: атакувальник міг бачити запити, що оброблялися на скомпрометованому сервері 8 листопада, — включно із запитами, надісланими в confidential mode, тобто в режимі, який мав гарантувати приватність навіть від самої компанії.
Як працювала атака: від RCE до даних агентів
Ключове слово в усьому інциденті — RCE у SGLang. SGLang — це серверний фреймворк, який запускає LLM та мультимодальні моделі (Qwen, DeepSeek, Mistral, Skywork та інші) і генерує відповіді на запити. Він розгортається як окремий сервіс і зазвичай слухає мережеві порти, обробляючи запити на інференс.
Вразливість дозволила атакувальнику виконувати довільний код на сервері, де крутився SGLang. Отримавши код-виконання на одному вузлі, зловмисник отримав точку опори, з якої почав рухатися латерально (lateral movement) — до внутрішніх систем, які з цього вузла були досяжні, але не призначені для зовнішнього доступу.
Саме так він дістався до:
- Внутрішньої системи за Private Chat — виведений з експлуатації, але не повністю відключений застосунок. Звідти вивантажено облікові записи користувачів.
- 18 AI-агентів на застарілому розгортанні NEAR AI Agents, яке не працювало в конфіденційному обчислювальному середовищі (TEE). З цих агентів вилучено історію чатів, налаштування та логи.
- Логи, в яких засвітилися API-ключі двох клієнтів NEAR AI Cloud.
Цей ланцюжок ілюструє класичну проблему безпеки інфраструктури: одне вразливе програмне забезпечення, відкрите в мережу, стає воротами до всього, що з ним пов'язане. Навіть якщо інші системи самі по собі захищені, довіра між внутрішніми сервісами робить їх досяжними для того, хто вже опинився всередині.
Окремо варто звернути увагу на те, що мішенню стали саме AI-агенти. Агент за визначенням накопичує багато контексту — історію розмов, доступ до інструментів, іноді облікові дані та ключі. Це робить його в рази ціннішою здобиччю, ніж звичайний вебакаунт: один скомпрометований агент може розкрити не один факт, а цілий контекст роботи користувача чи команди. Тенденція, яку ми бачимо впродовж останніх місяців, — атаки дедалі частіше ціляться саме в AI-інфраструктуру та агентів, а не лише в класичні вебзастосунки.
Що саме вкрали
NEAR AI наразі підтвердила такий обсяг витоку:
- Облікові дані ~100 користувачів — електронні адреси, імена, а для частини акаунтів також відомості про тарифний план і баланс рахунку.
- Дані 18 AI-агентів — історія чатів, налаштування та логи зі застарілого розгортання, яке не використовувало TEE.
- Два API-ключі NEAR AI Cloud — засвітилися в логах; обидва вже відкликані. Компанія не уточнила, чи встиг ними скористатися атакувальник.
Важливо: за даними розслідування, немає ознак, що були доступні збережені розмови Private Chat або завантажені файли. Водночас компанія прямо визнає, що запити, оброблені на скомпрометованому сервері 8 листопада — включно з конфіденційними, — могли бути видимі атакувальнику. Це не підтверджений витік вмісту, але реальна можливість, яку неможливо виключити.
NEAR Protocol та інші сервіси NEAR, за заявою компанії, не постраждали.
Чому конфіденційні обчислення не врятували
Це найважливіший урок інциденту. NEAR AI позиціонує свій Cloud як сервіс із «конфіденційним інференсом»: запити обробляються всередині довіреного середовища виконання (Trusted Execution Environment, TEE) — апаратно-ізольованого анклаву, який має захищати дані від оператора та хоста. Ідея в тому, що навіть сама компанія, яка володіє серверами, не може бачити вміст запитів.
Але TEE захищає лише від зовнішнього спостерігача. Він не скасовує вразливості в програмному забезпеченні, яке працює всередині анклаву. А SGLang — саме таке ПЗ: воно виконується в захищеному середовищі, і вразливість у ньому дозволила атакувальнику виконувати код усередині того самого анклаву. Як сформулювала сама компанія: *«Конфіденційні обчислення захищають дані від оператора та хоста. Вони не захищають від вразливості в програмному забезпеченні, що працює всередині середовища, — і саме це тут сталося»*.
Іншими словами, довірене середовище — це не магічний щит, а один із шарів захисту. Якщо код, який ви запускаєте всередині анклаву, має RCE, анклав захищає не більше, ніж замкнені двері, ключ від яких лежить під килимком.
SGLang: вразливості були відомі й раніше
Для тих, хто стежить за безпекою AI-інфраструктури, цей інцидент не повинен стати несподіванкою. У SGLang і раніше знаходили серйозні проблеми.
- CVE-2026-3059 — неавтентифікований RCE через ZMQ-брокер: модуль мультимодальної генерації десеріалізував неперевірені дані за допомогою
pickle.loads()без автентифікації. Оцінка CISA-ADP — CVSS 9.8 (Critical). - CVE-2026-3060 — ще одна неавтентифікована вразливість, цього разу в модулі дизагрегації (disaggregation).
Ще показовіше — липневий звіт CERT/CC (VU#281278), який описав одразу шість вразливостей у SGLang: RCE, серверний запит (SSRF), читання локальних файлів, витік облікових даних і викрадення ваг моделі (model weights). Більшість із них не вимагали автентифікації — достатньо було мережевого доступу без API-ключів і облікових записів. На момент публікації звіту патчів від розробників не було, а координація з проєктом, за словами CERT/CC, «не увінчалася успіхом».
Ця передісторія важлива: вона показує, що проблема не в одній «випадковій» вразливості, а в системному стані безпеки фреймворку, який дедалі ширше використовують у продакшені.
Як відреагувала NEAR AI та що з патчем
Реакція компанії була швидкою і, судячи з усього, грамотною. Увечері 9 листопада (близько 23:14 UTC) NEAR AI призупинила інференс NEAR AI Cloud як запобіжний захід і того ж дня опублікувала звіт про інцидент. Сервіс повернули до роботи приблизно за чотири години, після усунення проблеми.
Що було зроблено:
- відкликано всі активні сесії та адміністративні облікові дані;
- замінено всі токени агентів;
- виведено Private Chat офлайн;
- розгорнуто виправлення вразливості SGLang на всіх inference-серверах;
- завершено ротацію решти облікових даних і проведено повний форензік-огляд.
Компанія повідомила користувачів, чиї дані чи агенти підтверджено були скомпрометовані (розсилка йде з адреси security@near.ai), окремо зв'язалася з власниками всіх 18 агентів і пообіцяла зробити необхідні регуляторні повідомлення.
Проте є важливий нюанс для всіх, хто сам використовує SGLang: публічного патча наразі немає. NEAR AI повідомила про вразливість розробникам SGLang, але станом на 10 листопада CVE не призначено, технічних деталей і переліку вразливих версій не опубліковано, а останній реліз проєкту — v0.5.23 від 2 листопада, тобто до інциденту. Це означає, що інші оператори SGLang поки що не мають виправлення, яке можна застосувати.
Що робити операторам SGLang і користувачам
Поки офіційного патча немає, захист будується на обмеженні експозиції та гігієні мережі. Для команд, які розгортають SGLang або подібні inference-движки:
- Не виставляйте inference-сервери в публічний інтернет. SGLang та його внутрішні порти не призначені для прямого доступу ззовні. Розміщуйте їх за VPN, брандмауером або внутрішньою мережею з жорстким контролем доступу.
- Обмежуйте мережеві можливості кожного вузла. Сервер інференсу не повинен мати доступу до всього, що є у внутрішній мережі. Сегментуйте мережу та налаштуйте найменші необхідні привілеї (least privilege) для вихідних і вхідних з'єднань.
- Стежте за безпековими релізами проєкту. Підпишіться на GitHub-адвізорі проєкту SGLang і реагуйте на нові релізи одразу, щойно вийде виправлення.
- Не покладайтеся на TEE як на єдиний захист. Якщо ви запускаєте довірене середовище, ставтеся до всього коду, що працює всередині анклаву, з тією ж строгістю безпекового аналізу, що й до самого анклаву — саме цей підхід, за власним визнанням, тепер застосовує NEAR AI.
- Моніторте зовнішній периметр. Якщо у вас є застарілі або виведені з експлуатації сервіси, повністю відключайте їх від мережі — саме через «забутий» Private Chat атакувальник дістався даних користувачів.
Для постраждалих користувачів NEAR AI головна порада — обережність із фішингом. Оскільки викрадено імена, email-адреси та відомості про баланс, атакувальники можуть надсилати переконливі листи зі згадкою вашого акаунта чи балансу. Ставтеся з підозрою до будь-яких неочікуваних повідомлень, що посилаються на ваш NEAR AI-акаунт, і не переходьте за посиланнями з таких листів.
Якщо ви сумніваєтеся, чи ваші облікові дані вже «гуляли» мережею, варто перевірити свою електронну адресу через наш інструмент перевірки витоків — це швидкий спосіб оцінити, чи не фігурували ваші дані у відомих інцидентах.
Висновок
Інцидент NEAR AI — це не найбільший витік року, але один із найповчальніших для епохи, коли AI-інфраструктура стає критичною. Він показує три речі. По-перше, програмне забезпечення для інференсу — це тепер повноцінна поверхня атаки: фреймворки на кшталт SGLang обробляють чутливі дані і потребують такого самого безпекового ставлення, як вебсервери чи бази даних. По-друге, довірене середовище виконання не є панацеєю — вразливість у коді всередині анклаву зводить його захист нанівець. І по-третє, застарілі, але не відключені сервіси лишаються найслабшою ланкою, через яку одна вразливість перетворюється на повноцінний витік.
Поки публічного патча для SGLang немає, найнадійніший захист — не виставляти inference-сервери в інтернет, сегментувати мережу та уважно стежити за безпековими оновленнями. Це той випадок, коли гігієна інфраструктури виявляється важливішою за будь-який окремий патч.