Langflow — платформа з відкритим вихідним кодом, яка дозволяє розробникам поєднувати промпти LLM, джерела даних та власний код Python — має критичну вразливість, що дозволяє будь-кому виконувати довільний Python на вразливому сервері. CVE-2026-33017 з оцінкою 9.8 за шкалою CVSS впливає на всі версії до 1.9.0 і може бути активована без автентифікації, що змушує операторів оновитися або вимкнути функцію «public flow».

Що робить цей баг

Ендпоінт public-flow у Langflow призначався для демонстраційних чат-ботів, які будь-хто може протестувати без входу в систему. Ендпоінт приймає параметр data у тілі запиту, припускає, що корисне навантаження містить безпечне визначення потоку (flow definition), а потім передає вміст безпосередньо у вбудовану функцію Python exec(). exec() інтерпретує рядок як код і виконує його з тими ж привілеями, що й процес Langflow.

Зловмиснику потрібен лише ID публічного потоку (public flow's ID) — значення, яке часто відображається у посиланнях, що поширюються, — щоб сформувати запит, який підміняє визначення потоку на шкідливе. Коли сервер обробляє запит, ін'єктований Python виконується негайно, надаючи зловмиснику повний контроль над хост-системою.

Як ця вразливість просочилася

У попередніх релізах шлях коду, який завантажує потік з бази даних, ігнорувався, якщо був присутній параметр data. Замість того, щоб очистити або перевірити корисне навантаження, сервер довіряв викликаючій стороні та виконував його дослівно. Оскільки ендпоінт доступний без будь-якого входу, поверхнею атаки є відкритий інтернет для будь-якого екземпляра Langflow, де увімкнено публічні потоки.

Хто під загрозою

З огляду на оцінку серйозності, вразливість вважається «критичною».

Негайні кроки для пом'якшення наслідків

  1. Оновіться до Langflow 1.9.0 — це єдине перевірене виправлення.
  2. Вимкніть функцію public flow, якщо вам не потрібен анонімний доступ.
  3. Вимкніть AUTO_LOGIN — це зупинить автоматичне створення сесій для неавтентифікованих запитів.
  4. Розмістіть API за фаєрволом або зворотним проксі (reverse proxy), щоб обмежити доступ до довірених діапазонів IP.
  5. Розгорніть Web Application Firewall (WAF), який блокує запити до ендпоінту build_public_tmp, що містять параметр data.

Чому це виправлення важливе

Вразливість використовує фундаментальну помилку проектування: довіру до коду, наданого користувачем, у контексті, що виконується з високими привілеями. Усунувши цю довіру та запровадивши суворішу обробку вхідних даних, Langflow 1.9.0 відновлює бар'єр між користувачами публічних демо-версій та базовим сервером.

На що звернути увагу далі

  • Реакція спільноти — стежте за репозиторієм Langflow на предмет подальших патчів або рекомендацій.

Підсумок: Будь-яке розгортання Langflow, що відкриває ендпоінт public-flow, має бути виправлене вже сьогодні. Поки не запущена версія 1.9.0, вимкніть цю функцію та захистіть сервіс за допомогою мережевого контролю. Вартість зламів набагато перевищує зусилля, необхідні для швидкого оновлення.