flawopen.com/Teardowns/cve-2026-76504-cisco-sdwan-api-authentication-bypass
CVE-2026-76504: Authentifizierungsumgehung in Cisco SD-WAN Manager
CVE-2026-76504 ermöglicht einem nicht authentifizierten entfernten Angreifer, eine API-Authentifizierungsregel in Cisco Catalyst SD-WAN Manager zu umgehen und Administratorzugriff auf die API zu erlangen. Cisco bestätigt aktive Ausnutzung. Aktualisieren Sie auf die korrigierte Version Ihres Zweigs und untersuchen Sie den Manager, bevor Sie ihn als unbelastet einstufen.[1], [5]
Stellen Sie sich eine gesicherte Tür vor, deren Sicherheitsprüfung nur eine Schreibweise der Adresse erkennt. Ein Angreifer ändert die Schreibweise durch URI-Kodierung. Ein Teil des Systems erkennt dieselbe Tür, während die Sicherheitsregel sie anders behandelt. Laut Cisco konnte eine Anfrage dadurch die Authentifizierung umgehen und die API als Administrator erreichen. Die Behebung muss die Adresse einheitlich behandeln und dieselbe Zugriffsregel durchsetzen; für Betreiber ist das von Cisco unterstützte Mittel ein Software-Upgrade.[1]
Kernkonzepte & Begriffe
URI-Kodierung- Zeichen eines URL-Pfads werden als prozentkodierte Bytes dargestellt. Alle Schichten müssen den Pfad einheitlich dekodieren und vergleichen.[1], [7]
Authentifizierungsumgehung- Eine Anfrage erreicht eine geschützte Funktion, ohne dass das System die Identität des Aufrufers wie vorgeschrieben feststellt.[1]
API-Sitzungsregel- Die Manager-Regel prüft, ob eine API-Anfrage eine gültige authentifizierte Sitzung besitzt, bevor sie den Endpunkt erreicht.[1]
Framework-Zuordnungen
- CWE-Referenz für die in diesem Leitfaden beschriebene Schwachstelle: CWE-177
- OWASP Top 10:2025 — A01:2025 Broken Access Control
- CISA KEV — aufgenommen am 2026-09-30 — CVE-2026-76504
Ursachenanalyse
Cisco führt CVE-2026-76504 auf die unsachgemäße Verarbeitung von URI-Kodierung in HTTP-Anfragen bei der sitzungsbasierten API-Authentifizierung von Catalyst SD-WAN Manager zurück. Eine präparierte Anfrage kann eine Regel umgehen, die einen bestimmten API-Endpunkt beschränkt, und Zugriff als Administrator erhalten. Cisco bewertet den Fehler mit CVSS 3.1 9,8 Kritisch, erklärt das Produkt unabhängig von der Systemkonfiguration für betroffen und berichtet, dass PSIRT im September 2026 von aktiver Ausnutzung erfuhr. Der Hinweis zeigt eine URI-kodierte Anfrage an j_security_check als IOC-Beispiel und warnt ausdrücklich, dass jedes einzelne URI-kodierte Zeichen verwendet werden kann; behandeln Sie dieses Beispiel nicht als vollständige Erkennungssignatur. Cisco veröffentlicht weder den verwundbaren Quellcode noch den Patch-Diff. Das folgende Codepaar ist daher ein illustrativer Autorisierungsentwurf, kein Cisco-Code und keine Reproduktion. Cisco nennt korrigierte Versionen je Zweig und erklärt, dass es keine vollständige Abhilfe gibt. Netzwerkbeschränkungen und der Live-Protect-Schutz sind temporäre Maßnahmen; der Schutz kann legitime Anmeldungen beeinträchtigen und ersetzt das Upgrade nicht.[1], [5]
Korrigierte Releases für CVE-2026-76504 nach Bereitstellung
| Bereitstellung / Zweig | Korrigiertes Release | Erforderliche Maßnahme |
|---|---|---|
| On-Prem-Releases vor 20.9 | Zu einem unterstützten Zweig mit einem veröffentlichten korrigierten Release wechseln. | Migrieren; nicht auf einem alten, nicht unterstützten Zweig verbleiben. |
| On-Prem-Zweig 20.9 | 20.9.10.1 | Jeden Manager auf dieses oder ein späteres Release des unterstützten Zweigs aktualisieren. |
| On-Prem-Zweig 20.12 | 20.12.8.2 | Jeden Manager auf dieses oder ein späteres Release des unterstützten Zweigs aktualisieren. |
| On-Prem-Zweig 20.15 | 20.15.6.1 | Jeden Manager auf dieses oder ein späteres Release des unterstützten Zweigs aktualisieren. |
| On-Prem-Zweig 20.18 | 20.18.4.1 | Jeden Manager auf dieses oder ein späteres Release des unterstützten Zweigs aktualisieren. |
| On-Prem-Zweig 26.1 | 26.1.2.1 | Jeden Manager auf dieses oder ein späteres Release des unterstützten Zweigs aktualisieren. |
| On-Prem-Zweig 26.2 | 26.2.1 | Jeden Manager auf dieses oder ein späteres Release des unterstützten Zweigs aktualisieren. |
| Cisco SD-WAN Cloud (Cisco Managed) | 20.15.605 oder höher; laut Cisco ist der gehostete Dienst behoben. | Prüfen, ob der verwaltete Dienst genutzt wird; für dessen Rollout ist keine Kundenaktion erforderlich. |
Schritt-für-Schritt Angriffsablauf
Eine entfernte Anfrage erreicht die Manager-API
Ein Konto oder eine Benutzeraktion ist nicht erforderlich. Internetzugriff erhöht das Risiko; laut Hersteller gilt die Schwachstelle unabhängig von der Konfiguration.[1]
Ein URI-kodierter Pfad umgeht eine Authentifizierungsregel
Cisco nennt eine inkonsistente URI-Kodierung bei der API-Sitzungsauthentifizierung. Die öffentliche Dokumentation legt die verwundbare Implementierung nicht offen.[1]
Quellcode: Verwundbar vs. Sicher
Cisco veröffentlicht weder den verwundbaren Quellcode noch den Patch-Diff. Dieses Python-Beispiel zeigt eine allgemeine Entwurfsregel, keinen Cisco-Code: Routing und Autorisierung müssen dasselbe validierte, kanonische Anfragenziel verwenden; geschützte Endpunkte müssen eine authentifizierte Identität verlangen. Verwenden Sie die dokumentierte Normalisierung des Routers/Frameworks und führen Sie keine Ad-hoc- oder doppelte Dekodierung ein. Die unterstützte Behebung für CVE-2026-76504 ist ein Upgrade auf die von Cisco für den Zweig angegebene korrigierte Version.[1], [7]
Quelltextauszug: Illustratives Python-Beispiel für URI-Kanonisierung und Autorisierungsgrenze; kein Cisco-Code
from urllib.parse import unquote, urlsplit
def dispatch(raw_target, session, routes):
# Eine Schicht prüft den noch codierten Pfad.
path_for_auth = urlsplit(raw_target).path
if path_for_auth.startswith("/api/") and session is None:
raise PermissionError("authentication required")
# Eine spätere Schicht dekodiert vor der Routensuche. Die beiden Entscheidungen können voneinander abweichen.
route_path = unquote(path_for_auth)
return routes[route_path]()
import re
from urllib.parse import unquote, urlsplit
def canonical_path(raw_target):
raw_path = urlsplit(raw_target).path
if re.search(r"%(?![0-9A-Fa-f]{2})", raw_path):
raise ValueError("malformed URI encoding")
path = unquote(raw_path, errors="strict")
if "%" in path or "\\" in path:
raise ValueError("ambiguous path encoding")
if any(part in {".", ".."} for part in path.split("/")):
raise ValueError("path traversal segment")
return path
def dispatch(raw_target, session, routes):
path = canonical_path(raw_target) # Decode and validate exactly once.
route = routes.get(path)
if route is None:
raise LookupError("route not found")
requires_authentication, handler = route
if requires_authentication and session is None:
raise PermissionError("authentication required")
return handler()
Checkliste für Engineering & Systemsicherheit
- ✓Inventarisieren Sie alle Catalyst SD-WAN Manager einschließlich Clusterknoten und Notfallwiederherstellungsstandorten; erfassen Sie Zweig und exakten Build.[1], [2]
- ✓Aktualisieren Sie jeden lokalen Manager auf die erste von Cisco angegebene korrigierte Version innerhalb seiner aktuellen Hauptversion; wechseln Sie ohne ausdrückliche TAC-Anweisung nicht zu einer höheren Hauptversion. Releases vor 20.9 müssen gemäß Ciscos Kompatibilitätshinweisen auf einen unterstützten korrigierten Zweig migriert werden.[1], [2]
- ✓Sammeln Sie vor dem Upgrade von jedem Manager, Clusterknoten und DR-Standort admin-tech-Dateien mit Log und Tech; warten Sie mit dem Patch nicht auf IOC-Ergebnisse.[2]
- ✓Eröffnen Sie beim Cisco TAC einen Severity-3-Fall mit
CVE-2026-76504im Titel und senden Sie die Dateien zur IOC-Prüfung; befolgen Sie bei bestätigter Kompromittierung die TAC-Maßnahmen.[1], [2] - ✓Prüfen Sie
serviceproxy-access.logundvmanage-server.logaufj_security_check-Anfragen unbekannter oder nicht autorisierter Adressen sowie unerwartete Aktivitäten vonviptela-reserved--Konten;%6aist nur ein Beispiel, keine vollständige Signatur.[1] - ✓Beschränken Sie bis zum Upgrade aller Manager den Managementzugriff auf vertrauenswürdige Hosts und schützen Sie Steuerungskomponenten hinter einer Filtereinrichtung; das reduziert vorübergehend die Exposition, behebt aber nicht die Schwachstelle.[1]
- ✓Verwenden Sie den Cisco Live-Protect-Schutz nach Prüfung möglicher Anmeldeprobleme nur als temporären Teilschutz; planen Sie das Software-Upgrade weiterhin ein.[1]
- ✓Prüfen Sie für Cisco SD-WAN Cloud (Cisco Managed), ob der Dienst Version 20.15.605 oder höher meldet; Cisco zufolge ist bei der verwalteten Einführung keine Kundenaktion erforderlich.[1], [2]
Quellen
- Cisco Security Advisory — CVE-2026-76504
- Cisco remediation workflow for the September 2026 SD-WAN advisory
- Cyber Security Agency of Singapore active-exploitation advisory
- Canadian Centre for Cyber Security advisory AV26-978
- CISA Known Exploited Vulnerabilities Catalog — CVE-2026-76504
- NVD record — CVE-2026-76504
- MITRE CWE-177 — Improper Handling of URL Encoding