
Защитная самопроверка одной цели на предмет подверженности Langflow уязвимости CVE-2025-3248
Запускайте только на серверах, которыми вы владеете или на тестирование которых у вас есть разрешение.
Область действия: успешный результат означает только то, что эта узкая проверка обнаружила запрос аутентификации и версию Langflow на уровне или выше исправленного порога для CVE-2025-3248. Это не является общим заключением о безопасности, репутации, конфигурации или компрометации.
Небольшая защитная самопроверка для уязвимости Langflow, связанной с CVE-2025-3248. Передайте EXPOSECHECK один базовый URL — ваш собственный сервер или localhost — и он сообщит:
/api/v1/validate/code аутентификации для неавторизованного запроса;1.3.0; иЭто не эксплойт и не массовый сканер. Он принимает одну цель, не отправляет исполняемый код и не проводит поиск по всему интернету. Зонд конечной точки проверки отправляет только пустой объект JSON ({}).
Исследование угроз Sysdig задокументировало JADEPUFFER, который, по мнению исследователей, является первой атакой программы-вымогателя, выполненной от начала до конца агентом ИИ. Первоначальный доступ был связан с известной, исправленной уязвимостью Langflow CVE-2025-3248: старые открытые экземпляры позволяли неаутентифицированный доступ к конечной точке проверки кода.
Langflow — это легитимный фреймворк с открытым исходным кодом для приложений ИИ. Риск представляет открытое, неисправленное развертывание, а не сам Langflow. Langflow 1.3.0+ содержит соответствующее исправление и требует аутентификации на конечной точке.
Требуется Node.js 18+; пакеты устанавливать не нужно.
node check.js http://localhost:7860
Также можно вывести результат в машиночитаемом формате:
node check.js http://localhost:7860 --json
Коды выхода полезны в локальных скриптах:
0 — PATCHED FOR CVE-2025-32481 — EXPOSED2 — NEEDS ATTENTION, неверный ввод или неубедительная проверкаPATCHED FOR CVE-2025-3248 требует как запроса аутентификации 401/403, так и обнаруженной версии 1.3.0 или новее. Это не означает, что сервер в целом безопасен. Конечная точка, которая достигает проверки запроса без запроса аутентификации, помечается как EXPOSED. Отсутствующие, перенаправленные, заблокированные или неоднозначные ответы намеренно сообщаются как NEEDS ATTENTION, а не угадываются как безопасные.
Откройте index.html напрямую или запустите локальный сервер из каталога:
python3 -m http.server 8080
Затем перейдите по адресу http://localhost:8080.
Браузеры применяют правила CORS и смешанного контента. Кросс-доменный сервер может быть исправен, но все равно блокировать чтение ответа страницей. Это приводит к неубедительному результату; используйте CLI для надежной проверки.
Запустите встроенный набор регрессионных тестов с Node.js 18+:
node --test test.js
Набор тестов фиксирует общедоступную лексику результатов, чтобы исправленное состояние в рамках CVE не могло незаметно деградировать до общего утверждения безопасно или всё в порядке.
Демонстрации детерминированы и не связываются с внешним сервером.
CLI:
node check.js --demo exposed
node check.js --demo patched
Браузер: используйте Демо: открыто и Демо: исправлено над панелью вердикта. По умолчанию страница загружает демонстрацию открытого состояния, что позволяет надежно записывать экран, не нацеливая инструмент на живую цель.
| Проверка | Наблюдаемый защитный сигнал | Сигнал внимания |
|---|---|---|
| Доступность | Любой HTTP-ответ подтверждает, что хост работает | Тайм-аут или сбой соединения неубедительны |
| Аутентификация конечной точки | 401 или 403 для пустого неаутентифицированного запроса | 2xx, 400 или 422 означает, что запрос аутентификации не произошел до принятия/проверки запроса |
| Версия | Langflow 1.3.0+ | <1.3.0 уязвим; неизвестные версии требуют ручной проверки |
| Сетевая подсказка | Локальный/частный URL | Публичный IP/домен информативен и должен побудить к проверке подверженности |
Сетевая подсказка проверяет только введенный URL. Она не разрешает DNS и не доказывает, что хост доступен из интернета.
Зеленое оформление применяется только к отображаемому предикату. В частности, PATCHED FOR CVE-2025-3248 не означает БЕЗОПАСНО.
Обновите Langflow до 1.3.0+, поместите его за аутентификацию и уберите из публичного интернета.
Многоуровневая защита по-прежнему важна: ограничьте входящий трафик, не размещайте инструменты разработки непосредственно в публичном интернете, смените учетные данные, если заподозрите воздействие, и проверьте журналы сервера. Если этот инструмент сообщает о старой версии за аутентификацией, он возвращает NEEDS ATTENTION, поскольку программное обеспечение все равно должно быть исправлено.
MIT. См. LICENSE.