
Prueba de concepto de exploit para CVE-2026-102489 en Zammad: encadena una fuga de sesión de WebSocket con el secuestro de sesión autenticada y la ejecución remota de código no autenticada.
Este repositorio contiene una prueba de concepto para CVE-2026-102489, una vulnerabilidad de ejecución remota de código no autenticada en Zammad. El exploit encadena un fallo de divulgación de información en WebSocket con la toma de control de sesión autenticada y la ejecución arbitraria de comandos como el usuario del sistema operativo zammad.
Sessions::Event::Base es una constante Ruby válida que no tiene un método run(). Enviar {"event":"base"} a través del endpoint WebSocket genera un NoMethodError cuyo mensaje incluye la inspección completa del receptor — que contiene @clients, el mapa en vivo del contexto de solicitud de cada usuario conectado, incluyendo su encabezado Cookie.
El PoC aprovecha esta filtración para:
_zammad_session válidas de usuarios conectados mediante la divulgación de @clients del WebSocket.El análisis técnico que cubre la causa raíz, la explotación y los indicadores de compromiso está disponible en el blog de investigación de ataques de 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)
Ejecutar con el comando id predeterminado:
python3 CVE-2026-102489.py -u http://zammad.example.com
Ejecutar un comando arbitrario:
python3 CVE-2026-102489.py -u http://zammad.example.com -c 'id'
Nota: La divulgación de información requiere que al menos un usuario autenticado esté conectado al endpoint WebSocket en el momento de la explotación.
"Este software ha sido creado puramente con fines de investigación académica y para el desarrollo de técnicas defensivas efectivas, y no está destinado a ser utilizado para atacar sistemas excepto cuando esté explícitamente autorizado." Los mantenedores del proyecto no asumen ninguna responsabilidad por el mal uso. Úsalo de manera responsable.