
CVE-2026-23813 — AOS-CX Pre-Auth-Bypass über nginx-Regex. Erkennungsskript, Bypass-Demo, Config-Offenlegungs-PoC und IDS-Regeln.
Nicht authentifizierte entfernte Angreifer können die AOS-CX Management REST API erreichen, indem sie ein
login-Token durch die zu großzügige Versions-Regex von nginx schmuggeln und so die von OVSDB gestützte Konfigurationsfläche (einschließlich des gehashten Admin-Anmeldedatensatzes) offenlegen.
| Branch | Anfällig | Behoben |
|---|---|---|
| 10.17.x | ≤ 10.17.0001 | 10.17.1001 |
| 10.16.x | ≤ 10.16.1020 | 10.16.1030 |
| 10.13.x | ≤ 10.13.1160 | 10.13.1161 |
| 10.10.x | ≤ 10.10.1170 | 10.10.1180 |
python3 detect.py <host[:port]>
Sendet einen schreibgeschützten GET. Gibt PATCHED, VULNERABLE oder UNKNOWN aus.
Nimmt keine Änderungen vor. Geeignet für Inventar-Scans.
python3 bypass_demo.py <host[:port]>
Sendet denselben Endpunkt zweimal – einmal normal, einmal mit dem Schmuggel –
und gibt die Antwortcodes nebeneinander aus. Keine Zustandsänderung. Siehe
docs/root-cause.md für das Warum.
python3 exploit.py <host[:port]>
Nur AOS-CX 10.10.x. Erstellt einen Checkpoint über den nicht authentifizierten
Pfad, liest die vollständige laufende Konfiguration aus, gibt den Admin-Hash aus. Die
branch-übergreifende Umgehung funktioniert auf jeder betroffenen Version, aber diese
Konfigurations-Offenlegungskette beruht auf backend-spezifischem Verhalten von
10.10. Der Checkpoint bleibt auf dem Gerät bestehen – die über die Umgehung
erreichbaren REST-Endpunkte akzeptieren kein DELETE; entfernen Sie ihn bei Bedarf
über die Konsole / eine autorisierte Sitzung.
Python 3.8+ und requests:
pip install requests
Unabhängige Post-Patch-Analyse und PoC von 4252nez – Write-up auf OffSecKit. Ursprüngliche Schwachstelle gemeldet von moonv über das HPE Bugcrowd-Programm; dieses Repository steht in keinem Zusammenhang mit diesem Bericht.
MIT – siehe LICENSE.
| Datei | Zweck |
|---|
detect.py | Zerstörungsfreier Patch-Status-Check |
bypass_demo.py | Lehrreiche Seite-an-Seite-Darstellung der Umgehungsmechanik |
exploit.py | Konfigurations-Offenlegungs-PoC (erstellt einen Checkpoint) |
detection/nginx-access.md | Log-Signaturen für Nginx-Zugriffslogs |
detection/suricata.rules | Suricata-Regel für die Schmuggel-URI-Form |
docs/root-cause.md | Kurze Root-Cause-Erklärung |
docs/patch-diff.md | Der Fix, in einem Diff |