
Ein Proof-of-Concept-Exploit (PoC) für CVE-2025-70886, eine persistente Denial-of-Service-Schwachstelle in Halo CMS (v2.22.4 und früher), die es Remote-Angreifern ermöglicht, die Admin-Kommentaroberfläche durch das Übermitteln fehlerhafter Payloads zum Absturz zu bringen.
Ein Proof-of-Concept-Exploit (PoC) für CVE-2025-70886, eine persistente Denial-of-Service-Sicherheitslücke in Halo CMS (v2.22.4 und älter), die es einem entfernten Angreifer ermöglicht, das Admin-Kommentarinterface durch das Übermitteln fehlerhafter Payloads zum Absturz zu bringen.
Ein Problem in Halo v2.22.4 und älter ermöglicht es einem entfernten Angreifer, einen Denial-of-Service über einen manipulierten Payload an den öffentlichen Kommentar-Übermittlungsendpunkt zu verursachen.
Ein Angreifer kann über den öffentlichen Kommentar-Übermittlungsendpunkt einen manipulierten/fehlerhaften Kommentar-Payload (fehlende Felder wie subjectRef.version) übermitteln. Der fehlerhafte Kommentar wird gespeichert und löst später beim Lesen/Rendern durch die Admin-Kommentarseite eine unbehandelte Exception aus. Dies führt zu einem persistenten Denial-of-Service für die Kommentarverwaltungsseite, bis der störende Datensatz entfernt oder die serverseitige Validierung/Behandlung behoben wird.
Am Ende des Laufs veröffentlicht der Summary-Job eine Tabelle mit jeder Halo-Version und ihrem Status:
likely_vulnerable – Die API gab während der Prüfung HTTP 500 zurück.not_confirmed – Die API gab kein HTTP 500 zurück.⚠️ Warnung: Nur für autorisierte Testumgebungen
Das PoC-Repository klonen
git clone https://github.com/HowieHz/CVE-2025-70886
cd CVE-2025-70886
Eine Halo-CMS-Testinstanz bereitstellen
System initialisieren
Das PoC-Skript ausführen (Stelle sicher, dass die Node.js-Umgebung konfiguriert ist.)
node src/poc.js --base-url http://localhost:8090 --payload fixtures/payload.sample.json
Verfügbare Optionen:
--base-url: Basis-URL der Halo-Site (z. B. http://localhost:8090)--payload: Pfad zu einer aufgezeichneten, gültigen Kommentar-Payload-JSON-Datei--dry-run: Nur den modifizierten Payload ausgeben, nicht senden--header: Zusätzlicher Header in 'Key: Value'-Form (wiederholbar)--help: Hilfe anzeigenDie Sicherheitslücke verifizieren