Критическая уязвимость безопасности в платформе рабочих процессов ИИ с открытым исходным кодом Langflow активно эксплуатировалась злоумышленниками всего через 20 часов после ее публичного раскрытия. Такая быстрая эксплуатация подчеркивает тревожную скорость, с которой злоумышленники могут использовать свежеопубликованные детали уязвимостей для запуска атак. Уязвимость, зарегистрированная как CVE-2026-33017 с высоким баллом CVSS 9.3, представляет собой опасное сочетание отсутствия аутентификации и внедрения кода, в конечном итоге приводящее к неаутентифицированному удаленному выполнению кода (RCE).
Согласно официальному сообщению, уязвимость находится в конечной точке `POST /api/v1/build_public_tmp/{flow_id}/flow`. Эта конечная точка, предназначенная для сборки публичных рабочих процессов Langflow, не требовала какой-либо аутентификации. Ключевым моментом является то, что при предоставлении необязательного параметра `data` в запросе система использовала эти контролируемые злоумышленником данные — которые могли содержать произвольный код Python в определениях узлов — вместо законных данных рабочего процесса, хранящихся в базе данных. Затем этот предоставленный пользователем код передавался непосредственно функции Python `exec()` без какой-либо изоляции (sandboxing) или ограничений безопасности, что давало злоумышленникам возможность выполнять произвольные команды на базовом сервере. Уязвимость затрагивает все версии Langflow вплоть до версии 1.8.1 включительно, исправление доступно в версии для разработчиков 1.9.0.dev8.
Исследователь безопасности Авирал Шривастава, обнаруживший и сообщивший об уязвимости 26 февраля 2026 года, уточнил, что CVE-2026-33017 отличается от предыдущей критической ошибки в Langflow — CVE-2025-3248 (CVSS: 9.8). Предыдущая уязвимость использовала конечную точку `/api/v1/validate/code` для неаутентифицированного выполнения кода. Шривастава отметил, что хотя две уязвимости различны, CVE-2026-33017 имеет общую первопричину: небезопасное использование вызова функции `exec()`. Он объяснил, что публичный характер уязвимой конечной точки делал простое требование аутентификации непрактичным исправлением, так как это нарушило бы основную функциональность предоставления публичных рабочих процессов. Правильным исправлением, как и было реализовано, стало полное удаление необязательного параметра `data` из публичной конечной точки, что заставляет ее выполнять только предварительно сохраненные данные рабочего процесса на стороне сервера.
Быстрая эксплуатация CVE-2026-33017 повторяет судьбу более ранней CVE-2025-3248, которая, как подтвердило Агентство по кибербезопасности и безопасности инфраструктуры США (CISA), также подвергается активным атакам. Эта закономерность подчеркивает серьезную проблему в жизненном цикле раскрытия информации об уязвимостях. Окно между публичным раскрытием критической уязвимости и началом широкомасштабных атак резко сокращается, часто до менее чем одного дня. Для организаций, использующих затронутое программное обеспечение, это создает огромное давление, требующее почти мгновенного применения исправлений или внедрения мер по снижению рисков, чтобы избежать компрометации.
Данный инцидент служит суровым напоминанием для разработчиков и организаций, особенно в быстро развивающейся сфере инструментов ИИ/МО. Он подчеркивает критическую важность безопасных практик программирования, таких как строгая проверка входных данных, принцип наименьших привилегий и отказ от опасных функций, таких как `exec()` с пользовательским вводом. Для команд безопасности это подтверждает необходимость наличия надежных процессов инвентаризации активов и управления обновлениями, способных реагировать на критические угрозы в срочном порядке. Сближение легко доступных платформ ИИ и быстро эксплуатируемых уязвимостей представляет собой значительную и растущую поверхность для атак, требующую бдительной защиты.



