
Proof-of-concept exploit per CVE-2026-102489 in Zammad: concatena una fuga di sessione WebSocket in un dirottamento di sessione autenticata e in un'esecuzione di codice in remoto non autenticata.
Questo repository contiene una proof of concept per CVE-2026-102489, una vulnerabilità di esecuzione di codice in remoto non autenticata in Zammad. L'exploit concatena un difetto di divulgazione di informazioni via WebSocket con il dirottamento di una sessione autenticata e l'esecuzione arbitraria di comandi come utente di sistema zammad.
Sessions::Event::Base è una costante Ruby valida che non possiede un metodo run(). L'invio di {"event":"base"} sull'endpoint WebSocket genera un NoMethodError il cui messaggio include l'intero inspect del receiver — che contiene @clients, la mappa live del contesto di richiesta di ogni utente connesso, incluso il suo header Cookie.
La PoC sfrutta questa fuga di informazioni per:
_zammad_session validi dagli utenti connessi tramite la divulgazione di @clients via WebSocket.L'analisi tecnica che copre causa principale, sfruttamento e indicatori di compromissione è disponibile sul blog di ricerca sugli attacchi di 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)
Esecuzione con il comando predefinito id:
python3 CVE-2026-102489.py -u http://zammad.example.com
Esecuzione di un comando arbitrario:
python3 CVE-2026-102489.py -u http://zammad.example.com -c 'id'
Nota: La divulgazione di informazioni richiede che almeno un utente autenticato sia connesso all'endpoint WebSocket al momento dello sfruttamento.
"Questo software è stato creato puramente per scopi di ricerca accademica e per lo sviluppo di tecniche difensive efficaci, e non è destinato all'uso per attaccare sistemi se non esplicitamente autorizzato." I manutentori del progetto non si assumono alcuna responsabilità per usi impropri. Usare in modo responsabile.