
Руководство по PoC и обнаружению критической неаутентифицированной RCE в IBM Langflow OSS, охватывающее обход токена auto_login и небезопасное выполнение Python-кода через /validate/code.
Критическая уязвимость удалённого выполнения кода без аутентификации, затрагивающая IBM Langflow OSS.
Уязвимость возникает в результате объединения двух слабостей:
/api/v1/auto_login может выдать привилегированный bearer-токен SUPERUSER неаутентифицированному сетевому вызывающему./api/v1/validate/code обрабатывает управляемый атакующим код Python в небезопасном контексте выполнения.При объединении эти слабости могут привести к выполнению произвольного кода Python с привилегиями фонового процесса Langflow.
Уязвимость имеет оценку CVSS v3.1 — 9.8 (критическая) и классифицируется как CWE-94 — некорректный контроль генерации кода.
| Продукт | Уязвимые версии | Исправленная версия |
|---|---|---|
| IBM Langflow OSS | 1.0.0 – 1.10.0 | 1.10.1 |
IBM рекомендует обновление до Langflow OSS 1.10.1.
CVSS: 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Unauthenticated attacker
|
v
/api/v1/auto_login
|
| SUPERUSER bearer token
v
/api/v1/validate/code
|
| Unsafe Python evaluation
v
Remote Code Execution
|
v
Langflow backend process
Суть проблемы безопасности не просто в существовании каждой из конечных точек. Воздействие возникает из сочетания примитива обхода аутентификации/выдачи токена с небезопасным механизмом проверки кода.
Успешная эксплуатация может предоставить атакующему выполнение кода в контексте безопасности фонового процесса Langflow.
В зависимости от развёртывания это может раскрыть:
Таким образом, практическое воздействие сильно зависит от привилегий и сетевого доступа, доступных процессу Langflow.
Следующие запросы предназначены для неразрушающей идентификации и не содержат полезной нагрузки с выполнением кода.
GET / HTTP/1.1
Host: TARGET
Accept: */*
Connection: close
GET /docs HTTP/1.1
Host: TARGET
Accept: text/html,*/*
Connection: close
GET /api/v1/auto_login HTTP/1.1
Host: TARGET
Accept: application/json
Connection: close
Для защитного тестирования фиксируйте код состояния, заголовки и структуру ответа, а не пытайтесь использовать какие-либо возвращённые учётные данные.
Полезный шаблон защитной телеметрии:
/api/v1/auto_login
followed shortly by
/api/v1/validate/code
Источник, выполняющий эти запросы без обычного трафика фронтенда Langflow вокруг них, заслуживает особого внимания.
Не тестируйте уязвимость, отправляя произвольный код Python в /api/v1/validate/code на производственном экземпляре.
Безопасный рабочий процесс проверки:
1. Identify the Langflow version
2. Confirm whether it is <= 1.10.0
3. Review access logs for the affected endpoints
4. Check for unexpected SUPERUSER token issuance
5. Check process/application logs for suspicious Python execution
6. Upgrade to 1.10.1
7. Rotate potentially exposed credentials
8. Investigate the host if exploitation is suspected
Отслеживайте:
POST /api/v1/validate/code
GET /api/v1/auto_login
POST /api/v1/auto_login
Особенно подозрительное поведение включает:
/api/v1/auto_login200 OK, содержащие access_tokenauto_login, сразу за которым следует /api/v1/validate/codeОбновите Langflow OSS до:
1.10.1 or later
IBM конкретно рекомендует обновление до 1.10.1.
Если предполагается эксплуатация, одного только исправления недостаточно. Проверьте журналы и телеметрию хоста, а также ротируйте секреты, которые могли быть доступны процессу Langflow.
CISA добавила CVE-2026-9198 в свой каталог Known Exploited Vulnerabilities 4 августа 2026 года.
Этот репозиторий предназначен для авторизованных исследований в области безопасности, анализа уязвимостей, разработки средств обнаружения и контролируемых лабораторных сред.
| Метрика | Значение |
|---|
| Вектор атаки | Сеть |
| Сложность атаки | Низкая |
| Требуемые привилегии | Отсутствуют |
| Взаимодействие с пользователем | Отсутствует |
| Конфиденциальность | Высокая |
| Целостность | Высокая |
| Доступность | Высокая |
| Область действия (Scope) | Без изменений |