Тисячі серверів Langflow атакують, LangGraph та LangChain мають ті самі вразливості

Тисячі серверів Langflow атакують, LangGraph та LangChain мають ті самі вразливості 2

Ваш ШІ-агент робив саме те, для чого його створювали. Проте фреймворк, що стоїть за ним, фактично надав зловмисникам прямий доступ до серверу, де зберігаються ваші ключі OpenAI, облікові дані бази даних та токени CRM.

Це не гіпотетична ситуація. За останні кілька місяців три найпоширеніші фреймворки ШІ-агентів перетворили відомі, типові класи вразливостей на канали доступу до систем. Дослідники Check Point Research об’єднали вразливість SQL-ін’єкції в компоненті LangGraph’s SQLite checkpointer з можливістю виконання довільного коду на віддаленому сервері (RCE). Компанії Tenable та VulnCheck виявили шлях через помилку “path traversal” у механізмі завантаження файлів Langflow, що призвів до реальних атак RCE. Cyera задокументувала подібну помилку “path traversal” у LangChain-core, яка дозволяє читати секретні дані з дисків. Два шляхи до отримання контролю над сервером, один – до ваших ключів. По суті, це одна й та сама проблема, але в трьох різних фреймворках.

Ці фреймворки стали частиною виробничої інфраструктури швидше, ніж їх встигли належним чином захистити. Вони зберігають стан агентів, приймають завантажені файли, завантажують конфігурації промптів і містять облікові дані для доступу до баз даних, CRM-систем та внутрішніх API. Традиційні інструменти безпеки (WAF, EDR) відстежують трафік та процеси. Однак вони не були розроблені для того, щоб розглядати імпортований фреймворк як межу, яку варто охороняти, і саме ця сліпа зона є тим місцем, де ховаються всі три описані ланцюжки атак, що розширюються з кожним тижнем, коли ці фреймворки впроваджуються у виробництво.

Ланцюжок LangGraph: від SQL-ін’єкції до доступу до командного рядка Python

Почнемо з проблеми, яку багато команд впровадили у виробництво цього кварталу. LangGraph забезпечує “пам’ять” для ШІ-агентів за допомогою “checkpointers” — шарів стійкості, що зберігають стан виконання. Цей компонент завантажується понад 50 мільйонів разів на місяць. Ярден Порат з Check Point Research проаналізував цей шар і виявив три вразливості, дві з яких призводять до RCE.

CVE-2025-67644, з рейтингом CVSS 7.3, є SQL-ін’єкцією в SQLite checkpointer. Функція, що будує умову WHERE для пошуку стану, безпосередньо вставляє дані, контрольовані користувачем, у запит без параметризації чи екранування. Це не впливає на всіх, але там, де це можливо, наслідки серйозні. Розгортання стає вразливим, коли LangGraph самостійно працює з SQLite або Redis checkpointer і дозволяє неперевіреному вводу потрапити до `get_state_history()` або подібного кінцевого пункту. Якщо ці умови дотримані, зловмисник, який контролює фільтр, може додати сфабрикований рядок безпосередньо до таблиці станів. Якщо ви використовуєте керовану платформу LangSmith від LangChain на базі PostgreSQL, ця вразливість відсутня.

Далі CVE-2026-28277, CVSS 6.8, завершує атаку. Декодер станів `msgpack` у LangGraph перебудовує об’єкти Python з даних, що зберігаються, дозволяючи йому імпортувати модуль і викликати функцію з ім’ям та аргументами, наданими зловмисником. Цей крок вимагає доступу на запис до сховища станів; SQL-ін’єкція надає цей доступ віддалено. LangGraph завантажує сфабрикований рядок як легітимний стан, декодер виконує вказану функцію, включно з `os.system`, і код виконується від імені сервера агента. Третя проблема, CVE-2026-27022, CVSS 6.5, призводить до того ж результату через Redis checkpointer.

Наразі не підтверджено жодного випадку експлуатації цієї вразливості в реальних атаках. Робочий доказ концепції (PoC) є публічним у розкритті інформації Check Point. Виправлення полягають у оновленні версій: `langgraph-checkpoint-sqlite` до 3.0.1, `langgraph` до 1.0.10 та `langgraph-checkpoint-redis` до 1.0.2.

Ланцюжок Langflow: від одного неавторизованого запиту до RCE

Langflow – це той фреймворк, який вже став мішенню атак. CVE-2026-5027, CVSS 8.8, – це помилка “path traversal” у кінцевій точці POST `/api/v2/files`, яка приймає ім’я файлу безпосередньо з даних форми та записує його на диск без належної перевірки. Зловмисник може створити ім’я файлу з послідовностями обходу шляху (traversal sequences) і завантажити файл будь-куди, наприклад, скрипт cron у `/etc/cron.d/`. Оскільки Langflow за замовчуванням постачається з увімкненим автоматичним входом (auto-login), виставлена в інтернет інстанція не потребує жодних облікових даних. Достатньо одного неавторизованого запиту до цієї кінцевої точки, і наступне виконання cron-завдання надасть контроль над сервером.

Кейтлін Кондон з VulnCheck підтвердила експлуатацію 9 червня: “Наші датчики зафіксували експлуатацію CVE-2026-5027, яка успішно використала “path traversal” для запису файлів, схожих на тестові, на системах жертв”. За даними Censys, близько 7000 вразливих інстанцій розміщені в інтернеті, переважно в Північній Америці. Це вже третя вразливість Langflow, яка стала об’єктом активної експлуатації цього року, після CVE-2025-34291, яку використовувала спонсорована Іраном група MuddyWater і яка була додана CISA до каталогу відомих експлуатованих вразливостей (KEV) у травні. Сама CVE-2026-5027 була виправлена у версії 1.9.0, випущеній 15 квітня.

Саме часові рамки визначають критичність ситуації. Виправлення вийшло 15 квітня. Атаки розпочалися в червні, а VulnCheck додав CVE-2026-5027 до списку експлуатованих вразливостей 8 червня, як тільки його датчики зафіксували перші реальні атаки. Кожна інстанція, що залишилася невідремонтованою між цими двома датами, була відкритою протягом майже двох місяців. Для команд безпеки це означає, що відлік часу для встановлення патчу слід починати з моменту розкриття інформації, а не з дати внесення до державного каталогу.

Прогалина в LangChain-core: довільне читання файлів через завантажувач промптів

LangChain-core, основа для обох попередніх фреймворків, розкрила CVE-2026-34070, CVSS 7.5, – помилку “path traversal” у своєму застарілому API для завантаження промптів. Функції `load_prompt()` читають шлях до файлу зі словника конфігурації без перевірки на послідовності обходу шляху або абсолютні шляхи. Це дозволяє зловмиснику, який впливає на цей шлях, читати довільні файли, доступні процесу, включно з файлом `.env`, що містить `OPENAI_API_KEY` та `ANTHROPIC_API_KEY`. Cyera у поєднанні з CVE-2025-68664, CVSS 9.3, — вразливістю десеріалізації, яка дозволяє витягувати секрети середовища через спеціально створений об’єкт. Версії виправлень відрізняються, що важливо під час встановлення патчів: CVE-2026-34070 виправлена у версіях `langchain-core` 1.2.22 та 0.3.86; CVE-2025-68664 — раніше, у версіях 1.2.5 та 0.3.81. Оновіть обидві, або вразливість з вищим рейтингом залишиться активною за виправленою.

Три фреймворки, три класичні проблеми безпеки додатків: “path traversal”, SQL-ін’єкції, небезпечна десеріалізація. Нічого екзотичного, нічого специфічного для ШІ, просто старі вразливості, що живуть у новій інфраструктурі. Жодна з цих проблем не є новою. Це просто “труби”, що знаходяться на шарі, де ШІ зустрічається з корпоративним середовищем.

Чому сканер не бачить цієї проблеми

Меррітт Беар, CSO в Enkrypt AI та колишній заступник CISO в AWS, влучно описала, чому подібні збої важко передбачити. Вони не маскуються під проблеми ШІ. “CISO зіткнуться з ризиками “Machine Control Plane” (MCP) не в абстрактному сенсі, а коли співробітник вставить конфіденційні дані в інструмент, або коли зловмисник знайде неавторизований MCP-сервер у вашому хмарному середовищі”, – розповів Беар VentureBeat. “Це не буде відчуватися як ‘ризик ШІ’. Це буде відчуватися як збій вашої традиційної програми безпеки”. Описані ланцюжки експлуатації у фреймворках мають таку ж структуру. Вразливий екземпляр Langflow – це неавторизований сервер у вашому хмарному середовищі, а тривога, якщо вона спрацює, буде схожа на звичайний інцидент.

У цьому полягає проблема одним реченням. Експлуатація відбувається у фреймворку, який імпортує ваш код. WAF ніколи не побачить декодер `msgpack`, що працює на трьох рівнях нижче. EDR спостерігає, як сервер агента виконує ті самі виклики процесів, що й тисячі разів на день, і пропускає їх. Обидва інструменти роблять свою роботу. Ніхто не розглядав сам фреймворк як потенційну загрозу.

Першопричина старша за ШІ, і Беар точно її називає. “MCP постачається з тією ж помилкою, яку ми бачили в кожному великому розгортанні протоколу: незахищені налаштування за замовчуванням”, – сказала вона VentureBeat. “Якщо ми не впровадимо автентифікацію та принцип найменших привілеїв з першого дня, ми будемо розчищати наслідки витоків протягом наступного десятиліття”. Автоматичний вхід у Langflow – це саме ця помилка, яка була впроваджена. Незахищений завантажувач промптів у LangChain-core – це також впроваджена помилка. Зручні налаштування за замовчуванням є вразливістю. І як тільки агент підключається до чогось, цей ризик зростає в геометричній прогресії. “Ви довіряєте не тільки своїй безпеці, ви успадковуєте гігієну кожного інструменту, кожного облікового запису, кожного розробника в цьому ланцюжку”, – сказала Беар. “Це ризик ланцюжка поставок у реальному часі”.

Існує провал у корпоративному управлінні, що нашаровується на технічну проблему, і це та ж сама неправильна класифікація, яку Ассаф Керен, головний спеціаліст з безпеки в Qualtrics та колишній CISO в PayPal, відзначає у суміжних інструментах. “Більшість команд безпеки все ще класифікують платформи керування досвідом як ‘інструменти для опитувань’, які знаходяться в тому ж рівні ризику, що й додаток для управління проєктами”, – розповів Керен VentureBeat. “Це величезна неправильна класифікація”. Якщо замінити це на фреймворки ШІ-агентів, суть залишається тією ж. Команди відносять LangGraph, Langflow та LangChain до категорії “зручність для розробників”, а потім підключають їх до баз даних, CRM та ключів постачальників. “Безпека має бути рушієм прогресу, – сказав Керен, – інакше команди будуть її обходити”. Ці фреймворки – це саме те, що означає “обходити її”.

Якщо прослідкувати за фінансами, вони вказують на той самий рівень. На своєму квартальному звіті про доходи за перший квартал 2027 фінансового року CrowdStrike повідомила, що її лінійка продуктів для виявлення та реагування на ШІ зросла більш ніж на 250% послідовно, а 17 червня вона розширила покриття на трафік агентів, LLM та MCP на AWS. Джордж Куртц, співзасновник і генеральний директор компанії, назвав причину простими словами: “Агенти працюють на кінцевих точках. Вони виконують виклики інструментів, отримують доступ до файлів, викликають API та переміщують дані на рівні процесів”. Це саме ті “труби”, якими зловмисники зловживають, і реальні гроші тепер переміщуються на рівень, який ваші сканери безпеки додатків пропускають.

Що представити раді директорів

Раді директорів не потрібні номери CVE. Їм потрібні наслідки, і Керен окреслює лінію, яка їх хвилює. Більшість команд вже оцінили технічний радіус ураження. “Але не бізнес-радіус ураження”, – сказав Керен VentureBeat. “Коли ШІ-двигун ініціює коригування компенсації на основі отруєних даних, шкода полягає не в інциденті безпеки. Це неправильне бізнес-рішення, виконане зі швидкістю машини”. RCE у фреймворку – це та ж проблема, але на один рівень раніше. Агент не просто викрадає облікові дані; він діє з ними на виробничих системах, і бізнес бачить результат, який ніхто не може пояснити.

Отже, сформулюйте це так, як це робить рада директорів: ми використовуємо фреймворки ШІ-агентів у виробництві, які можуть бути перетворені на віддалені оболонки через помилки, які наші сканери не можуть виявити. Усі три фреймворки патчені, один з них знаходиться під активною атакою, і ось дата, коли всі інстанції будуть перевірені та закриті. Для цього не потрібен був спеціальний шкідливий код або zero-day.

Контрольний список із шести запитань

Шість меж довіри, по одному на рядок, кожна з питанням, доказом, командою для перевірки, виправленням та формулюванням для ради директорів. Запустіть перевірку сьогодні ввечері.

Запитання щодо меж довіри

Доказ

Що зламалося

Перевірте перед встановленням

Виправлення

Формулювання для ради директорів

1. Чи можна отруїти сховище станів агента кодом?

Ланцюжок SQLi-to-RCE LangGraph. CVE-2025-67644 (CVSS 7.3) поєднується з CVE-2026-28277 (CVSS 6.8). PoC публічний, жодних реальних атак ще не виявлено.

Ключі фільтра вставляються в SQL за допомогою f-рядка. Сфабрикований рядок стану потрапляє до декодера msgpack, який імпортує та запускає викликану функцію з ім’ям, наданим зловмисником.

`pip show langgraph-checkpoint-sqlite`. Версії нижче 3.0.1 = вразливо. Переконайтеся, що `get_state_history()` не виставлений у мережу.

Оновіть `langgraph-checkpoint-sqlite` до 3.0.1, `langgraph` до 1.0.10, `langgraph-checkpoint-redis` до 1.0.2.

“Наш шар пам’яті агента може бути використаний для виконання коду зловмисника. Постачальник випустив патч. Ми оновлюємося і перевіряємо, що кінцева точка не виставлена в мережу”.

2. Чи може неавторизований запит записати файл на наш сервер агента?

Langflow CVE-2026-5027 (CVSS 8.8). У списку KEV VulnCheck (8 червня). Активна експлуатація підтверджена 9 червня. Приблизно 7000 вразливих інстанцій (Censys).

Path traversal у POST `/api/v2/files`. Ім’я файлу не перевіряється. Автоматичний вхід увімкнено за замовчуванням. Два HTTP-запити дозволяють створити cron-завдання та отримати доступ до командного рядка.

Запитайте Censys або Shodan щодо ваших екземплярів Langflow, Flowise, n8n та Dify на периметрі. Перевірте, чи ввімкнено автоматичний вхід.

Оновіть Langflow до версії 1.9.0+. Вимкніть автоматичний вхід. Розмістіть інструменти розробки ШІ за VPN або нульовою довірою. Ізолюйте порт 7860.

“Наші інструменти розробки ШІ доступні з інтернету з вимкненим входом. Ця конкретна вразливість зараз активно експлуатується. Ми негайно переводимо їх під контролем доступу”.

3. Чи може наш завантажувач промптів читати файли, яких він не повинен торкатися?

LangChain-core CVE-2026-34070 (CVSS 7.5), path traversal в API завантаження промптів. Поєднується з CVE-2025-68664 (CVSS 9.3) щодо десеріалізації.

`load_prompt()` читає шлях, наданий конфігурацією, без перевірки на обхід шляху, повертаючи файли, такі як `.env`, що містить OPENAI_API_KEY та ANTHROPIC_API_KEY.

`pip show langchain-core`. Версії нижче 1.2.22 (1.x) або 0.3.86 (0.x) = вразливо. Перевірте будь-який код, що передає шляхи, керовані користувачем, до `load_prompt()`.

Оновіть `langchain-core` до версій, що виправлені від обох проблем: 1.2.22 / 0.3.86 (CVE-2026-34070) та 1.2.5 / 0.3.81 (CVE-2025-68664). Замініть `load_prompt()` на використання списку дозволених директорій. Запускайте від імені користувача без прав root.

“Наша система промптів могла бути використана для читання наших ключів API з диска. Ми встановлюємо патч і видаляємо застарілий завантажувач”.

4. Чи передає скомпрометований фреймворк усі облікові дані одночасно?

Ці фреймворки часто розгортаються з ключами постачальників, обліковими даними бази даних та токенами інтеграції, доступними середовищу процесу. Cyera документує шлях витоку облікових даних.

Один випадок RCE на сервері агента викриває всі секрети, доступні процесу. Радіус ураження – повний набір облікових даних, а не одна програма.

Інвентаризуйте, до яких секретів може отримати доступ процес кожного фреймворку. Переконайтеся, що ключі надходять з менеджера секретів, а не зі статичних файлів `.env`.

Перемістіть ключі постачальників до ефемерного впровадження. Змініть будь-який ключ, до якого міг отримати доступ вразливий екземпляр. Призначте кожному ключу мінімально необхідні привілеї.

“Один збій в одному ШІ-фреймворку викриває ключі до всіх моделей та сховищ даних, до яких він має доступ. Ми змінюємо та обмежуємо їх зараз.”

5. Чи ці фреймворки працюють поза межами управління безпекою?

Попередня вразливість Langflow, CVE-2025-34291, була використана MuddyWater, пов’язаною з Іраном, і додана до CISA KEV у травні. “Тіньовий ШІ” – це новий “тіньовий ІТ”.

Команди швидко розгортають фреймворки, надають їм облікові дані і ніколи не проводять їх перегляд. Команда безпеки не може бачити те, що, як вона не знає, існує.

Проведіть пошук ШІ-фреймворків поза процесом управління змінами. Призначте кожному власнику та запис про схвалення.

Призначте кожному фреймворку документально оформленого власника та місце в процесі затвердження. Запропонуйте санкціоновану альтернативу, щоб команди не обходили вас.

“У нас є ШІ-фреймворки у виробництві, які ніхто офіційно не схвалював. Ми вводимо їх в систему управління, а не забороняємо”.

6. Чи можуть наші сканери взагалі бачити внутрішню роботу фреймворку під час виконання?

Виявлення під час виконання формується навколо цього рівня: CrowdStrike Falcon AIDR розширено на AWS 17 червня (Bedrock, Kiro, Strands); його коаліція QuiltWorks тепер охоплює хмарні робочі навантаження.

WAF читає HTTP на периметрі. EDR спостерігає за кінцевою точкою. За замовчуванням жоден з них надійно не моделює декодер msgpack або завантажувач промптів на трьох рівнях нижче у імпортованому фреймворку як окрему межу довіри.

Перевірте, чи покриває ваш сканер безпеки додатків внутрішні компоненти сторонніх фреймворків. Відстежуйте CVE за залежностями, а не тільки за тим, що можуть розібрати ваші периферійні інструменти.

Додайте залежності фреймворків до управління вразливостями. Розглядайте вивід агента та збережений стан як недовірені. Встановлюйте патчі після розкриття інформації, а не після внесення до списку KEV.

“Наші сканери перевіряють наш код, а не фреймворки, які імпортує наш код. Ми закриваємо цю сліпу зону і встановлюємо патчі після розкриття інформації, не чекаючи державного каталогу”.

Як читати цю таблицю: кожен рядок — це одна межа довіри, зліва направо, від запитання, яке потрібно поставити, до формулювання для ради директорів.

Надайте раді директорів терміни, а не технології

Виправлення не потребують переархітектури. Це оновлення версій та зміни конфігурації, які ви можете впровадити цього тижня. Експозиція – це прогалина між днем випуску патчу та днем, коли ваша команда проведе перевірки, і зараз ця прогалина вимірюється місяцями. Фреймворки зробили саме те, для чого були створені.

Як захиститися (Порада CryptoDom): Завжди встановлюйте останню версію будь-якого програмного забезпечення, включаючи фреймворки ШІ, як тільки патч стає доступним, і переконайтеся, що ваші зовнішні сервіси мають надійну автентифікацію та обмежений доступ.

За матеріалами: venturebeat.com

No votes yet.
Please wait...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *