Сгенерированная абстрактная иллюстрация на бледно-серо-голубом поле: в верхнем левом углу расположен один небольшой прямоугольник панели браузера, а тонкая голубая линия спускается от него вниз в глубокий стек плоских слоистых пластин в центре кадра. Глубоко внутри стека одна пластина светится янтарным, а слабые янтарные нити тянутся вверх через каждый слой над ней и выходят к краю кадра. Позади расположена слабая чертёжная сетка. На изображении нет текста, чисел, людей, брендовых знаков или логотипов организаций. Логотип OrcaRouter наложен в правом нижнем углу.
AI Safety Incidents

NemoClaw CVE-2026-65105: одно посещение браузера переписало шаблон чата модели

Автор

Magnus Corvin

Дата публикации

Новые модели · 20Все модели →
Бенчмарки: Artificial Analysis · обновляется ежедневно
Назад ко всем статьям

25 августа 2026 года NVIDIA опубликовала бюллетень по безопасности 5872 и оценила уязвимость в NVIDIA NemoClaw — Linux-инструменте, который запускает агентов OpenClaw в песочницах OpenShell, — как высокую, с базовой оценкой CVSS 8.1. CVE-2026-65105 — это ошибка отсутствия аутентификации: NemoClaw запускает сервер инференса Ollama на всех сетевых интерфейсах, а API Ollama не имеет собственной аутентификации. Исследователи Oasis Security, названные по именам в благодарностях NVIDIA и чья компания теперь приобретается Cyera, создали демонстрацию, в которой одного посещения контролируемой злоумышленником веб-страницы было достаточно, чтобы обратиться к этому серверу изнутри браузера и переписать шаблон чата модели — изменение, которое пережило последующие беседы и выдержало даже передачу агентом собственного системного промпта. Случаев эксплуатации в реальных условиях не зафиксировано. Полная запись с оценками серьезности и уверенности находится в Orca AI Incident Archive вместе с соседними инцидентами того же месяца.

Что опубликовала NVIDIA

Бюллетень озаглавлен «Бюллетень безопасности: NVIDIA NemoClaw и OpenShell — август 2026», имеет номер 5872, а в истории его изменений указана одна запись: версия 1.0.0 от 2026-08-25. Это сводный выпуск, а не рекомендация по одной CVE — таблица затронутых продуктов внутри него перечисляет восемнадцать CVE по двум продуктам, с CVE-2026-65081 по CVE-2026-65105. Наиболее серьёзный пункт в этом наборе — CVE-2026-65093, побег из песочницы в NVIDIA OpenShell для Linux с оценкой 9.9 Critical.

Для CVE-2026-65105 в бюллетене указано, что уязвимость заключается «в настройке его сервера инференса, где удаленный атакующий может получить доступ к службе инференса без аутентификации», и что успешная эксплуатация «может привести к раскрытию информации и отказу в обслуживании». Опубликованный вектор — CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H — смежная сеть, низкая сложность, без привилегий, без взаимодействия с пользователем, высокое воздействие на конфиденциальность, высокое воздействие на доступность — а класс слабости — CWE-306, «Отсутствие аутентификации для критической функции».

В таблице уязвимых продуктов NVIDIA уязвимые версии указаны как «от 0 до 0.0.25» для NemoClaw на Linux, а обновлённая версия — как «f06796ff3; 0.0.25» — хеш коммита в паре с тем же номером версии, который указан в столбце уязвимых версий. eSecurity Planet, сообщая об уязвимости 27 августа 2026 года, обращает внимание именно на это совпадение и рекомендует администраторам «убедиться, что развёрнутый код содержит исправляющий коммит, а не полагаться только на номер версии».

В разделе благодарностей указаны «CVE-2026-65105: Markus Halvorsen, Elad Luz из Oasis Security». Запись NVD для этой CVE была опубликована 25 августа 2026 года в 21:17 UTC и в последний раз изменена 1 сентября 2026 года; в ней оценка NVIDIA 8.1 указана как единственная оценка по CVSS v3.1, а сама CVE не фигурирует в каталоге CISA Known Exploited Vulnerabilities.

Одну деталь в собственной записи NVIDIA стоит назвать, а не сглаживать. В векторе вообще нет компонента целостности — I:N, integrity impact none — а описание в одну строку упоминает только раскрытие информации и отказ в обслуживании. Центральное утверждение исследователей, обсуждаемое ниже, состоит в том, что шаблон чата модели был изменён и остался изменённым. Такое прочтение вектора — наше, а не NVIDIA: компания не опубликовала никаких заявлений о том, рассматривался ли путь переписывания шаблона при выставлении оценки.

A self-built HTML card titled 'CVE-2026-65105 at a glance', badged 'NVIDIA Security Bulletin 5872'. A two-column fact table reads: product, NVIDIA NemoClaw for Linux; weakness, CWE-306 Missing Authentication for Critical Function; CVSS 3.1 base score, 8.1 High; vector, AV:A / AC:L / PR:N / UI:N / S:U / C:H / I:N / A:H, adjacent network, no privileges, no user interaction, integrity impact none; affected versions, 0 to 0.0.25; updated version, commit f06796ff3 at 0.0.25; credited to, Markus Halvorsen and Elad Luz of Oasis Security; bulletin published, 25 August 2026, revision 1.0.0; known exploitation, not in CISA's Known Exploited Vulnerabilities list. A footer reads 'Sources: NVIDIA Security Bulletin 5872, 25 August 2026; NVD record for CVE-2026-65105, published 2026-08-25T21:17Z; eSecurity Planet, 27 August 2026.' The OrcaRouter logo is composited in the bottom-right corner.

Настройка, благодаря которой локальный сервер стал доступен

NemoClaw развертывает агентов OpenClaw внутри песочницы OpenShell и поддерживает Ollama в качестве локального бэкенда инференса. Проблема конфигурации — побочный эффект такой схемы. Как объясняется в исследовательской публикации Cyera, подготовленной Эладом Лузом и Офеком Итачем, OpenShell работает в Docker, поэтому сервер Ollama на loopback-адресе по умолчанию недоступен изнутри контейнера. Поэтому NemoClaw запускает Ollama с OLLAMA_HOST=0.0.0.0:11434, что привязывает порт 11434 ко всем интерфейсам, а не только к loopback хоста. В той же публикации отмечается, что установщик отображает "Using Ollama on localhost:11434", хотя фактическая привязка значительно шире.

API Ollama не имеет аутентификации. Его защиты, ориентированные на браузер, таковы: CORS-промежуточное ПО, которое считает запрос с Origin, совпадающим с Host, same-origin и пропускает запросы без заголовка Origin, и этап проверки заголовка Host, который обычно принимает только локальные имена хостов. Именно вторая защита исчезает при конфигурации NemoClaw. В отчёте Cyera прямо сказано, что «когда Ollama привязан к не-loopback-адресу (например, 0.0.0.0), проверка заголовка Host полностью пропускается» — код проверяет, является ли адрес привязки loopback, и в противном случае обходит проверку.

Именно это сочетание заставляет работать DNS rebinding. Посетитель загружает страницу с домена, контролируемого атакующим, а JavaScript этой страницы обращается к порту 11434. Затем DNS атакующего повторно разрешает тот же домен в 127.0.0.1 или в адрес в локальной сети жертвы. Поскольку политика same-origin браузера привязана к имени хоста, а имя хоста не изменилось, браузер продолжает считать запрос запросом из того же источника. Ollama получает его, пропускает проверку Host, поскольку его bind не относится к loopback, и видит, что Origin равен Host — оба принадлежат домену атакующего, — поэтому слой CORS разрешает его. Cyera описывает результат как «полный неаутентифицированный доступ к API». Атакующему нужно контролировать только собственный домен; никакого закрепления в сети жертвы или её DNS-инфраструктуре не требуется.

Песочница не защитила от этого, потому что уязвимость находится ниже её уровня. eSecurity Planet описывает эту ошибку как находящуюся «на уровне инференса под этими средствами контроля песочницы», поэтому запуск агента в песочнице оставил сервер модели, с которым он взаимодействует, незащищённым. Cyera формулирует ту же мысль шире: «Запуск агента в песочнице необходим, но недостаточен». Исследовательская заметка Cloud Security Alliance по этому случаю от 27 августа 2026 года добавляет, что привязка не к loopback-интерфейсу вновь возрождает экспозицию, лежавшую в основе более ранней проблемы перепривязки Ollama, отслеживаемой как CVE-2024-28224.

Стоит сказать прямо, поскольку это отдельный путь экспозиции, отличный от атаки через браузер: привязка к 0.0.0.0 также напрямую выставляет неаутентифицированный API в локальную сеть, так что любой хост, способный маршрутизировать трафик к порту 11434, достигает его вообще без DNS rebinding.

От читаемого шаблона к переписанному

Когда JavaScript получает доступ к API, разведка становится рутинной. Cyera перечисляет то, что было доступно в демонстрации: имена, размеры, семейства и квантования установленных моделей из GET /api/tags, точная версия Ollama из GET /api/version, сведения о моделях, системные промпты, шаблоны и лицензии из POST /api/show, а также имя хоста и открытый ключ — или имя пользователя, выполнившего вход, — из POST /api/me. Деструктивные эндпоинты тоже были доступны: POST /api/pull для загрузки произвольных моделей и заполнения диска, POST /api/push для отправки моделей на ollama.com под учётной записью жертвы, DELETE /api/delete для удаления моделей жертвы и POST /api/signout. Эндпоинты инференса, включая совместимый с OpenAI маршрут /v1/chat/completions, выполняли бы промпты на GPU жертвы.

Персистентность обеспечивалась одной из этих конечных точек. В отчёте Cyera объясняется, что внедрение скрытого поля system через POST /api/create оказалось неэффективным против OpenClaw, поскольку агент отправляет собственный системный промпт в массиве messages, и это переопределяет встроенное поле system модели. Более сильный вектор — поле template, которое также принимает /api/create. Чат-шаблон Ollama — это шаблон Go, который управляет тем, как сообщения преобразуются в необработанный текст перед инференсом, и «шаблон применяется во время инференса ко всем сообщениям, включая любой системный промпт, отправляемый клиентом». В демонстрации атакующий получил исходный шаблон через /api/show, вставил в него инъекцию, сохранив без изменений рендеринг инструментов, специальные токены и форматирование ролей, и загрузил его обратно.

То, что следует из такого размещения, — это и есть главное. По словам Cyera, это изменение сохраняется во всех будущих диалогах с моделью, выдерживает системные промпты, задаваемые клиентом, остаётся невидимым для пользователя, поскольку название, размер, метаданные и возможности модели выглядят неизменными, и затрагивает всех потребителей модели — CLI, API-клиентов и агентов alike. В самом отчёте это формулируется так: «клиент не может обнаружить или предотвратить это», потому что шаблон — это «свойство на уровне модели, невидимое для потребителей API». CSO Online, сообщая об этом случае 26 августа 2026 года, цитирует Луза, который описывает шаблон как находящийся «на один слой ниже всего, что может увидеть гардрейл или оператор», и отмечает, что изменение сохраняется в каждой будущей сессии.

Последствия, которые Cyera перечисляет для агента, работающего на отравленном шаблоне, являются потенциальными, а не наблюдаемыми: внедрение уязвимостей в генерируемый код, подавление предупреждений безопасности, смещение рекомендаций в сторону контролируемых злоумышленником пакетов, URL или конфигураций, а также эксфильтрация данных разговора или файлов при наличии исходящего доступа. В отчёте также аккуратно указано, что по-прежнему ограничивает песочница — действия уровня хоста с файловой системой, сетью и процессами — при этом отмечается, что реальная подверженность риску связана с авторизованным доступом агента к системе контроля версий, CI/CD, внутренним API, облачным сервисам и серверам MCP.

A self-built HTML card titled 'The chain, as demonstrated', subtitled 'One webpage, one unauthenticated local server, one rewritten chat template', kickered 'Oasis Security / Cyera, disclosed 25 August 2026'. Five numbered rows read: one, the visitor opens the page, an attacker-controlled page loads with its script addressing port 11434, where NemoClaw started Ollama on every interface; two, the attacker's DNS turns the page inward, the same domain re-resolves to 127.0.0.1 or the victim's LAN address and the browser still treats it as same-origin because the hostname is unchanged; three, Ollama accepts it, Host-header validation is skipped because the bind is not loopback and the CORS layer sees Origin equal to Host; four, the template is read, POST /api/show returns the model's Go chat template alongside the Ollama version, model list, hostname and public key; five, the template is re-uploaded, edited, POST /api/create accepts the spliced template with tool rendering, special tokens and role formatting intact. A footer block headed 'Also reachable once the guard was open' lists /api/generate, /api/chat, /v1/chat/completions, /api/pull, /api/push, DELETE /api/delete, /api/signout, /api/tags, /api/version and /api/me. A bottom line reads 'Source: Cyera research write-up by Elad Luz and Ofek Itach; condition depends on Ollama started with OLLAMA_HOST=0.0.0.0:11434.' The OrcaRouter logo is composited in the bottom-right corner.

Что показала демонстрация, а что — нет

По словам Cyera, доказательство концепции проходило в четыре этапа. Исследователи подключались к песочнице NemoClaw и отправляли промпт; агент отвечал нормально. Затем они открыли веб-страницу, которая выполняла DNS rebinding в отношении локального сервера Ollama. Эта страница считывала версию Ollama, установленные модели, имя хоста и открытый ключ и отравляла шаблон модели скрытой инструкцией. Повторная отправка того же промпта возвращала ответ, содержащий внедрённый маркер, при этом сам агент в песочнице не изменялся.

Это самая сильная формулировка утверждения, которое делают исследователи, и одновременно именно здесь начинаются границы доказательной базы. Это демонстрация в рамках конкретной конфигурации — Ollama запущена с OLLAMA_HOST=0.0.0.0:11434 — а не обзор развернутых систем. Нигде в материалах, изученных для этой статьи, не назван ни один пострадавший: ни в бюллетене NVIDIA, ни в записи NVD, ни в публикации Cyera, ни в репортажах CSO Online или eSecurity Planet. Никто из них не опубликовал число открытых установок NemoClaw, и никто из них не сообщает об эксплуатации в реальных условиях. Отсутствие записи в CISA KEV — это факт о каталоге, а не доказательство того, что никто не пытался.

Независимый комментарий поступил от Рэндольфа Барра из Cequence Security, которого цитирует CSO Online: «DNS rebinding — это браузерный трюк, которому уже более десяти лет», — сказал он, отметив, что «направить его на локальный сервер модели без аутентификации — это как раз новое». Это справедливое описание новизны здесь — браузерная техника стара, а класс цели нов — и это также напоминание о том, что раскрытие информации опирается на демонстрацию одной исследовательской команды. В публикациях, рассмотренных для этой статьи, не удалось найти независимого воспроизведения результата отравления шаблона.

A generated abstract illustration on a pale grey-blue field: three identical rounded rectangular panes sit in a horizontal row across the centre of the frame, each mostly empty inside, joined by one unbroken amber line. A single amber dot sits inside each pane at the same relative position. Above the leftmost pane only, a translucent cyan shield outline arcs over it; the two panes to the right have no shield above them. A faint blueprint grid sits behind. No text, numbers, people, brand marks or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

Исправление, и пробел в Windows

Коммит, который NVIDIA называет исправлением, f06796ff3, имеет заголовок «fix(security): bind Ollama to localhost with authenticated proxy». При сопоставлении с публичным репозиторием видно, что он делает три вещи. Он меняет путь локального инференса так, что Ollama запускается на 127.0.0.1:11434 вместо 0.0.0.0:11434. Он добавляет небольшой аутентифицирующий обратный прокси, scripts/ollama-auth-proxy.js, который слушает на 0.0.0.0:11435 и проверяет bearer-токен, генерируемый для каждого экземпляра при онбординге и хранимый в учётных данных провайдера OpenShell, чтобы контейнеризованный шлюз всё ещё мог достичь инференса, а всё, что не имеет токена, получало 401; GET /api/tags намеренно освобождён от проверки для проверок работоспособности контейнера. И он обновляет скрипт установки и тесты локального инференса под порт прокси. В сообщении коммита внутренний тикет указан как «PSIRT bug 6002780, CVSS 7.5 High» — в отличие от 8.1, который NVIDIA позже опубликовала для этой CVE.

Статус исправления после этого коммита — именно здесь источники расходятся, и это расхождение следует отразить, а не урегулировать. CSO Online сообщает, что «Nvidia теперь исправила эту уязвимость для систем, отличных от Windows». Заметка Cloud Security Alliance от 27 августа 2026 г. более конкретна: в ней говорится, что macOS и Linux были исправлены в v0.0.35, что более поздняя сборка v0.0.106 отказывается запускаться, если Ollama не привязана к loopback, и что «исправление NVIDIA охватывает macOS и Linux, но на момент публикации не распространяется на Windows или WSL». В этом изложении проверка при запуске «не достигает ветки кода, используемой в Windows и WSL», v0.0.34 «добавила лишь предупреждение вместо принудительной привязки к loopback», а «развёртывания Windows и WSL оставались уязвимыми на момент раскрытия информации». Собственный бюллетень NVIDIA подтверждает лишь часть этого: в его таблице затронутых продуктов CVE-2026-65105 относится только к Linux, указаны единственный обновлённый коммит и версия, и нет записи для Windows ни среди затронутых, ни среди исправленных. NVIDIA не ответила на это расхождение ни в одном из документов, рассмотренных здесь.

Публичное заявление NVIDIA последовало после публикации в CSO Online: «Мы ценим обнаружение и сообщение исследователей», — сказала компания, добавив, что «Nvidia выпустила обновление, которое клиенты могут скачать и установить».

Перечисленные eSecurity Planet меры со стороны оператора представляют собой практическую оставшуюся часть записи:

• Обновите NemoClaw и убедитесь, что развёрнутый код содержит коммит f06796ff3, а не полагайтесь на строку версии, поскольку 0.0.25 указана как в затронутом, так и в обновлённом столбце.

• Ограничьте Ollama адресом 127.0.0.1, если только более широкий доступ явно не требуется: это устраняет привязку не к loopback-интерфейсу, из-за которой проверка Host пропускается.

• Разместите прокси с аутентификацией и средства управления межсетевым экраном перед сервисами инференса, вместо того чтобы полагаться на собственную сетевую границу приложения.

• Следите за интерфейсами прослушивания, шаблонами моделей, настройками моделей и активностью API на предмет неожиданных изменений, поскольку отравленный шаблон не затрагивает имя, размер и метаданные модели.

• Храните заведомо исправные копии шаблонов моделей и настроек для обнаружения несанкционированных изменений и восстановления, а также тестируйте планы реагирования на инциденты для случаев отравления моделей и раскрытия инференса — изоляция, проверки целостности, ротация учётных данных и восстановление.

• Применяйте принцип наименьших привилегий ко всему, к чему агент может получить доступ: репозиториям, системам CI/CD, API, облачным ресурсам и учётным данным, поскольку песочница ограничивает действия на хосте, но не полномочия, предоставленные агенту.

Что установлено, что приписывается, а что неизвестно

Подтверждено.NVIDIA опубликовала 25 августа 2026 года бюллетень 5872 с CVE-2026-65105, оценённой как 8.1 High, CWE-306, затрагивающей NemoClaw для Linux версий от 0 до 0.0.25 и исправленной в коммите f06796ff3. Запись NVD независимо от собственной страницы бюллетеня подтверждает оценку, вектор и класс слабости. В благодарностях NVIDIA указаны Markus Halvorsen и Elad Luz из Oasis Security. Публичный коммит, указанный как исправление, изменяет привязку на loopback и вводит прокси с аутентификацией по токену на порту 11435. Данная CVE не включена в каталог CISA Known Exploited Vulnerabilities.

С указанием источника. То, что одного посещения веб-страницы достаточно для перезаписи шаблона чата модели и что это изменение сохраняется в последующих сессиях и в системных промптах, предоставленных клиентом, — это вывод Oasis Security, представленный в исследовательской публикации Cyera и освещённый CSO Online и eSecurity Planet. То, что macOS и Linux были исправлены в версиях v0.0.35 и v0.0.106, а в Windows и WSL в v0.0.34 было лишь выдано предупреждение, — это версия Cloud Security Alliance; более краткая формулировка того же утверждения от CSO Online состоит в том, что патч охватывает системы, отличные от Windows. Перечень последствий для нижестоящих агентов — уязвимый код, подавлённые предупреждения, пакеты, управляемые атакующим, эксфильтрация данных — это описание Cyera потенциальных эффектов, а не наблюдавшегося результата.

Не установлено. Никто не публиковал данные о том, сколько развёртываний NemoClaw работало с привязкой к 0.0.0.0 и сколько из них были достижимы из смежной сети. Неизвестно, был ли путь отравления учтён в оценке NVIDIA 8.1 — опубликованный вектор не содержит воздействия на целостность, и NVIDIA никак не комментировала это. Ни один из рассмотренных здесь источников не зафиксировал ни пострадавшего, ни отчёта об инциденте, ни эксплуатации в реальных условиях, и ни одна вторая исследовательская группа не опубликовала воспроизведение.

Сама запись — это исследовательская находка, а не событие развёртывания: запись в архиве имеет высокий уровень серьёзности с оценкой достоверности A, не фиксирует реального ущерба и помечена как неоспариваемая. Это соответствует тому, что показывают источники — хорошо документированная уязвимость с продемонстрированным эксплойтом и без сообщений о пострадавших — и именно поэтому в этом материале демонстрация отделяется от её последствий, а не рассматривается как одно утверждение.