
Un exploit Proof of Concept (PoC) per CVE-2025-70886, una vulnerabilità persistente di denial-of-service in Halo CMS (v2.22.4 e versioni precedenti) che consente ad attaccanti remoti di bloccare l'interfaccia di commenti dell'amministratore inviando payload malformati.
Un exploit Proof of Concept (PoC) per CVE-2025-70886, una vulnerabilità di denial of service persistente in Halo CMS (v2.22.4 e versioni precedenti) che consente ad attaccanti remoti di mandare in crash l'interfaccia dei commenti dell'admin inviando payload malformati.
Un problema in Halo v2.22.4 e versioni precedenti consente a un attaccante remoto di causare un denial of service tramite un payload manipolato inviato all'endpoint pubblico di invio dei commenti.
Un attaccante può inviare un payload di commento manipolato/malformato (con campi mancanti come subjectRef.version) tramite l'endpoint pubblico di invio dei commenti. Il commento malformato viene memorizzato e successivamente innesca un'eccezione non gestita quando la pagina dei commenti dell'admin lo legge/renderizza, causando un denial of service persistente per la pagina di gestione dei commenti finché il record problematico non viene rimosso o la validazione/gestione lato server non viene corretta.
Al termine dell'esecuzione, il job Summary pubblica una tabella che mostra ogni versione di Halo e il suo stato:
likely_vulnerable — l'API ha restituito HTTP 500 durante il controllo.not_confirmed — l'API non ha restituito HTTP 500.⚠️ Avviso: solo per ambienti di test autorizzati
Clona il repository PoC
git clone https://github.com/HowieHz/CVE-2025-70886
cd CVE-2025-70886
Distribuisci un'istanza di test di Halo CMS
Inizializza il sistema
Esegui lo script PoC (assicurati che l'ambiente Node.js sia configurato.)
node src/poc.js --base-url http://localhost:8090 --payload fixtures/payload.sample.json
Opzioni disponibili:
--base-url: URL di base del sito Halo (es. http://localhost:8090)--payload: Percorso di un file JSON di payload di commento valido e catturato--dry-run: Stampa solo il payload modificato, non inviarlo--header: Header aggiuntivo nel formato 'Key: Value' (ripetibile)--help: Mostra l'aiutoVerifica la vulnerabilità