
Эксплойт proof-of-concept для CVE-2026-102489 в Zammad: объединяет утечку сессии WebSocket в перехват аутентифицированной сессии и неаутентифицированное удалённое выполнение кода.
Этот репозиторий содержит proof of concept для CVE-2026-102489 — уязвимости неаутентифицированного удалённого выполнения кода в Zammad. Эксплойт объединяет в цепочку уязвимость раскрытия информации через WebSocket с захватом аутентифицированной сессии и выполнением произвольных команд от имени пользователя ОС zammad.
Sessions::Event::Base — это допустимая константа Ruby, у которой нет метода run(). Отправка {"event":"base"} через WebSocket-эндпоинт вызывает NoMethodError, сообщение которого включает полный inspect получателя — а он содержит @clients, живую карту контекста запросов всех подключённых пользователей, включая их заголовок Cookie.
PoC использует эту утечку для того, чтобы:
_zammad_session подключённых пользователей через раскрытие @clients в WebSocket.Технический анализ, охватывающий первопричину, эксплуатацию и индикаторы компрометации, доступен в блоге исследований атак Horizon3.ai:
https://horizon3.ai/attack-research/disclosures/cve-2026-102489-zammad-session-leak-rce/
% python3 CVE-2026-102489.py -h
usage: CVE-2026-102489.py [-h] -u URL [-c COMMAND] [--out-file OUT_FILE]
options:
-h, --help show this help message and exit
-u URL, --url URL The base URL of the target
-c COMMAND, --command COMMAND
Command to execute on the target
--out-file OUT_FILE Output file path on the target (default:
/tmp/zammad_rce.txt)
Запуск с командой id по умолчанию:
python3 CVE-2026-102489.py -u http://zammad.example.com
Выполнение произвольной команды:
python3 CVE-2026-102489.py -u http://zammad.example.com -c 'id'
Примечание: Для раскрытия информации требуется, чтобы на момент эксплуатации к WebSocket-эндпоинту был подключён хотя бы один аутентифицированный пользователь.
«Это программное обеспечение создано исключительно в целях академических исследований и разработки эффективных методов защиты и не предназначено для использования с целью атаки на системы, кроме случаев явного разрешения». Сопровождающие проекта не несут ответственности за неправомерное использование. Используйте ответственно.