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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-61500 — Python PoC и Docker-лаборатория для CVE-2026-61500: восстанавливает состояние PRNG Rejetto HFS V8 для подделки cookie административной сессии и достижения RCE через server_code. | Kitploit
Инструменты/GitHubGitHub/aramosf/cve-2026-61500
Атаки на ПаролиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВиртуализация для безопасностиКриптографияТестирование на ПроникновениеОбучение и ОбразованиеRed TeamingЛаборатории и Практика
GitHub
1 день назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
aramosf/cve-2026-61500

CVE-2026-61500

Python PoC и Docker-лаборатория для CVE-2026-61500: восстанавливает состояние PRNG Rejetto HFS V8 для подделки cookie административной сессии и достижения RCE через server_code.

Репозиторий

CVE-2026-61500: подделка сессии в Rejetto HFS с последующим RCE

Демонстрация в реальном терминале

CVE-2026-61500 — это уязвимость подделки сессии без аутентификации в Rejetto HFS 3.0.0–3.2.0. HFS генерировал ключ подписи сессионных cookie Koa с помощью JavaScript Math.random() и раскрывал выходные значения того же V8 PRNG в неаутентифицированном рукопожатии входа SRP. Злоумышленник может восстановить состояние PRNG, получить ключ подписи, подделать сессию администратора и использовать документированную функцию конфигурации server_code для выполнения серверного JavaScript.

Этот репозиторий содержит proof of concept на Python и одноразовое сравнение в Docker с использованием официальных образов HFS 3.2.0 и 3.2.1. Публичная сборка намеренно ограничена HTTP-целями на локальном интерфейсе loopback.

Область применения

УтверждениеСтатус
Восстановление состояния V8 xorshift128+ из неаутентифицированных ответов входаПодтверждено
Восстановление активного ключа подписи cookie HFSПодтверждено
Подделка сессии, принимаемой как сессия администратора HFSПодтверждено
Выполнение безвредного маркера server_code в официальном HFS 3.2.0Подтверждено
Получение root reverse shell внутри изолированной сети ComposeПодтверждено
Остановка до подделки сессии в официальном HFS 3.2.1Подтверждено
Целевые атаки через интернет или закреплениеНе предоставлено и не заявлено

Процесс эксплуатации

  1. Отправьте шесть неаутентифицированных API-запросов loginSrp1 для известной учётной записи admin. Каждый уязвимый ответ помещает числовой loggingIn.sid и его подписанный сессионный cookie в заголовки Set-Cookie.
  2. Преобразуйте пять последовательных double в их 53 видимых бита PRNG и перебором восстановите одиннадцать опущенных младших битов. Обратите и продвиньте рекуррентность xorshift128+ V8, пока одно внутреннее состояние не удовлетворит всем наблюдаемым значениям.
  3. Воспроизведите три base-36 фрагмента, используемых HFS randomId(30). PoC учитывает округление кратчайшей строки V8 и проверяет кандидатов по наблюдаемому HMAC hfs_http.sig, что также определяет смещение запуска.
  4. Подпишите синтетическую сессию, содержащую username: admin, затем вызовите get_config, чтобы доказать, что подделанный cookie имеет доступ администратора.
  5. Вызовите set_config с небольшим модулем server_code. Полезная нагрузка по умолчанию записывает безвредный маркер в /data; доступен только для лаборатории Docker на loopback.

Это цепочка HTTP типа «чёрный ящик»: PoC не читает файлы, память, переменные окружения или состояние процессов на цели. Знание исходного кода используется для моделирования уязвимого алгоритма.

Уязвимые и исправленные версии

  • Уязвимы: HFS 3.0.0–3.2.0.
  • Первый исправленный выпуск: HFS 3.2.1.
  • Исправление: 59472e534bf7e056d708382d02935c2eaf956927.

Исправление заменяет ключ подписи на 32 байта из Node.js randomBytes() и заменяет раскрытый числовой идентификатор входа на randomUUID(). Явное указание надёжного значения COOKIE_SIGN_KEYS снижает риск предсказания ключа подписи, но обновление остаётся рекомендуемой мерой устранения.

Проверенная среда

  • Хост: Linux 6.18.33.2-microsoft-standard-WSL2, x86_64.
  • Docker 29.7.2; Docker Compose v5.5.0; Python 3.14.4.
  • Уязвимый образ: rejetto/hfs:v3.2.0, дайджест sha256:d6765e93b68de222583be7788afad699695fd08aa2f56377337f5139779e0746.
  • Исправленный образ: rejetto/hfs:v3.2.1, дайджест sha256:61db4da1f494df254aa7f48889c676b424b413e45b7b92cf4276f4b8e632aaec.
  • Образ обратного вызова для демонстрации: python:3.13-alpine, дайджест sha256:1a63a53928ce53d2b0baf08092a703f4840ac5dfbd61fd48802dbf48e08c801e.
  • Дата тестирования: 2026-09-26.

Оба сервиса HFS привязываются только к loopback хоста; обратный вызов не публикует порт. Лаборатория создаёт синтетического администратора, поскольку loginSrp1 должен вызываться для существующего имени пользователя; пароль не известен и не используется эксплойтом.

Запуск одноразового сравнения

Требования: Docker с Compose, Python 3.10 или новее и curl.

root@kitploit:~
./verify.sh

Верификатор удаляет только lab/runtime/vulnerable и lab/runtime/fixed, запускает оба образа, закреплённых по дайджесту, выполняет положительный и отрицательный контроли и по умолчанию останавливает контейнеры. Используйте KEEP_LAB=1 ./verify.sh, чтобы оставить лабораторию запущенной для проверки.

Если лаборатория сохранена, прямой вызов безвредного маркера выглядит так:

root@kitploit:~
python3 cve-2026-61500-poc.py \
  --target http://127.0.0.1:28182 \
  --marker cve-2026-61500-rce-marker.txt

Чтобы продемонстрировать выполнение команды внутри принадлежащего вам лабораторного контейнера:

root@kitploit:~
python3 cve-2026-61500-poc.py \
  --target http://127.0.0.1:28182 \
  --command 'id > /data/cve-command-output.txt'

Любое имя хоста, не являющееся loopback, HTTPS-цель или удалённый IP отклоняются при проверке аргументов. Эксплойт изменяет HFS server_code; используйте только одноразовую лабораторию или систему, на которую у вас есть явное разрешение.

Записанная демонстрация идёт на шаг дальше: demo.sh запускает непубликуемый сервис callback в сети Compose и использует --command для подключения Bash reverse shell к нему. Обратный вызов отправляет только id, uname -a, pwd и exit, записывает расшифровку в игнорируемый lab/runtime/ и закрывается. Ни один порт обратного вызова не привязывается к хосту.

Воспроизведённый результат

Реальный запуск 2026-09-26 восстановил одно состояние PRNG и его ключ подписи, получил HTTP 200 для подделанного административного get_config, установил полезную нагрузку с маркером и обнаружил CVE_2026_61500_RCE_CONFIRMED в уязвимом контейнере. Отдельный контроль --command 'id > /data/cve-command-output.txt' выдал uid=0(root) gid=0(root) groups=0(root) внутри этого официального контейнера. Записанный reverse shell только в Docker независимо вернул ту же root-идентичность и рабочий каталог /data. Против 3.2.1 первый ответ входа содержал непрозрачный UUID, и PoC завершился со статусом 3 до попытки подделки сессии. См. docs/example-output.txt и docs/e2e-results.json.

Поиск публичных эксплойтов

26 сентября 2026 года были выполнены точные поиски по CVE и эксплойтам/PoC в SearchSploit (локальный индекс Exploit-DB), веб-результатах с индексацией GitHub, Packet Storm, Exploit-DB и общем вебе. На тот момент работающий публичный эксплойт не был обнаружен; результаты содержали только метаданные CVE/рекомендаций и страницы отслеживания эксплойтов. Это датированный результат, полученный по мере возможности, а не утверждение, что эксплойт не может существовать в другом месте или появиться позже.

Благодарности

  • Эксплойт: A. Ramos <[email protected]> (Twitter: @aramosf).
  • Обнаружение уязвимости: Zach Hanley (@hacks_zach) из Horizon3.ai, в сотрудничестве с Claude и Anthropic Research.
  • Исправление: Massimo Melina / Rejetto.

Ссылки

  • Рекомендация VulnCheck
  • Выпуск HFS 3.2.1
  • Коммит с исправлением в upstream
  • Запись CVE-2026-61500

Правовое уведомление

Только для авторизованных исследований безопасности, защитной проверки и обучения. Вы несёте ответственность за получение разрешения и соблюдение применимого законодательства.

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