flawopen.com/Teardowns/cve-2026-1731-beyondtrust-websocket-command-injection
CVE-2026-1731: BeyondTrust-Befehlsinjektion
CVE-2026-1731 ermöglicht unauthentifizierte Befehle per WebSocket auf BeyondTrust Remote Support/PRA. Patchen und exponierte Systeme untersuchen.
Stellen Sie sich einen Empfang vor, der nach einer Versionsnummer fragt und die Antwort an einen Taschenrechner weitergibt, der Formeln auswertet statt nur Ziffern zu prüfen. So kann eine Eingabe von Daten zu Anweisungen werden. CVE-2026-1731 öffnete diese Grenze in einem BeyondTrust-Dienst; der Fix weist alles zurück, was vor dem Vergleich keine kurze Dezimalversion ist.
Kernkonzepte & Begriffe
CVE-2026-1731- Kritische, nicht authentifizierte Betriebssystem-Befehlsinjektion in BeyondTrust Remote Support und Privileged Remote Access.
thin-scc-wrapper- Eine BeyondTrust-Shell-Wrapper-Komponente in einem Client-Protokollpfad. Rapid7s Patchanalyse benennt die Verarbeitung einer vom Gegenüber gelieferten Version als verwundbare Grenze.
Bash-Arithmetikauswertung- Numerische Bash-Operatoren werten Operanden als arithmetische Ausdrücke aus. Nicht vertrauenswürdiger Text kann dadurch die Grenze zwischen Daten und Ausdruck überschreiten.
CWE-78- Unzureichende Neutralisierung besonderer Zeichen in Betriebssystembefehlen, auch OS-Command-Injection genannt.
CISA KEV- Der Katalog der CISA führt Schwachstellen auf, für die Ausnutzung in freier Wildbahn belegt ist.
Framework-Zuordnungen
- CWE-Referenz für die in diesem Leitfaden beschriebene Schwachstelle: CWE-78
- CISA KEV — aufgenommen am 2026-02-13 — CVE-2026-1731
Ursachenanalyse
Der BeyondTrust-Sicherheitshinweis vom Februar 2026 beschreibt CVE-2026-1731 als unauthentifizierte Remote-Code-Ausführung in Remote Support und Privileged Remote Access, ordnet CWE-78 zu und nennt CVSS 4.0 mit 9,9 Punkten. Speziell präparierte Client-Anfragen konnten Betriebssystembefehle im Kontext des Site-Benutzers ausführen. Rapid7s Analyse des Hersteller-Patches grenzt die Quellcode-Stelle auf den WebSocket-Pfad von thin-scc-wrapper ein: Das Skript liest ein vom Gegenüber kontrolliertes remoteVersion und vergleicht es mit numerischen Bash-Operatoren. Diese Vergleiche lösen Arithmetikauswertung aus; ein Wert, der keine reine Zahl ist, kann daher als Ausdruck statt als inerte Zeichenfolge interpretiert werden. Der Patch verlangt vor dem Vergleich eine oder zwei ASCII-Ziffern (^[0-9]{1,2}$). Der folgende Code ist eine reduzierte, quellenbasierte Illustration, kein vollständiges Produktskript und kein Exploit-Nachweis. BeyondTrust meldete erste Ausnutzungsversuche am 10. Februar und begrenzte Aktivität gegen internet-exponierte, selbst gehostete Systeme, die vor dem 9. Februar nicht gepatcht waren. Google Threat Intelligence Group berichtete später über mehrere Gruppen und unterschiedliche Folgeaktivitäten. Diese Berichte belegen beobachtete Ausnutzung, aber keine einheitliche Angriffskette für alle Opfer.
Schritt-für-Schritt Angriffsablauf
Eine öffentlich erreichbare Appliance nimmt die Protokollverbindung an
Der betroffene Dienst stellt einen WebSocket-Pfad für sein Thin-Client-Protokoll bereit. Rapid7 beschreibt den verwundbaren Pfad als ohne Authentifizierung erreichbar; BeyondTrust stuft den Fehler als Pre-Auth-RCE ein.
Das Gegenüber übermittelt eine Protokollversion
Der Wrapper liest einen Remote-Versionswert aus der Verbindung. Dieser Wert wird vom Anfragenden kontrolliert und ist keine vertrauenswürdige lokale Konfiguration.
Bash behandelt den Wert als arithmetischen Operanden
Der verwundbare Vergleich verwendet numerische Bash-Operatoren. Da Bash numerische Operanden als Ausdrücke auswertet, bleibt ungeprüfte Eingabe nicht zwangsläufig einfacher Text.
Die Befehlsinjektion erreicht das Dienstkonto
Eine erfolgreiche Ausnutzung kann Betriebssystembefehle im Kontext des BeyondTrust-Site-Benutzers ausführen. Der Hersteller bewertet Auswirkungen auf Vertraulichkeit, Integrität und Verfügbarkeit als hoch.
Beobachtete Ausnutzung birgt Folgerisiken
BeyondTrust meldete erste Versuche und begrenzte Aktivität gegen exponierte, ungepatchte selbst gehostete Appliances. GTIG berichtete später über mehrere Gruppen und Folgeaktionen; jeder Bericht beschreibt konkrete Kampagnen, keine universelle Kette.
Der Patch prüft vor dem Vergleich
Der Patch weist eine ungültige Remote-Version zurück und beendet den Wrapper; nur ein gültiger Wert setzt die Protokollaushandlung fort. Spielen Sie den Patch oder die korrigierte Version ein und untersuchen Sie Systeme, die während der Verwundbarkeit exponiert waren.
Quellcode: Verwundbar vs. Sicher
Rapid7 zufolge ergänzt Patch BT26-02 diese Prüfung auf eine oder zwei Ziffern, bevor remoteVersion verglichen wird. Die Ausschnitte sind reduziert und lassen Produktprotokoll und Anfragedetails aus. Entscheidend ist die Validierung vor der Bash-Arithmetikauswertung; Anführungszeichen allein machen arithmetische Operanden nicht sicher. Parsen und vergleichen Sie nach Möglichkeit in einer typisierten Komponente ohne Shell und weisen Sie ungültige Werte an der Protokollgrenze zurück.
Quelltextauszug: thin-scc-wrapper — reduzierte Illustration nach Rapid7s Analyse des Hersteller-Patches
# Reduziertes Beispiel: remoteVersion stammt vom Gegenüber.
read -r remoteVersion || exit 1
if [[ "$localVersion" -lt "$remoteVersion" ]]; then
version=$localVersion
else
version=$remoteVersion
fi
# Unerwartete Eingabe vor jedem arithmetischen Vergleich ablehnen.
read -r remoteVersion || exit 1
if [[ ! "$remoteVersion" =~ ^[0-9]{1,2}$ ]]; then
exit 1
fi
if [[ "$localVersion" -lt "$remoteVersion" ]]; then
version=$localVersion
else
version=$remoteVersion
fi
Checkliste für Engineering & Systemsicherheit
- ✓Erfassen Sie alle Remote-Support- und Privileged-Remote-Access-Appliances, einschließlich selbst gehosteter Systeme ohne automatische Updates.
- ✓Installieren Sie BT26-02-RS oder aktualisieren Sie Remote Support auf 25.3.2 oder neuer; installieren Sie BT26-02-PRA oder aktualisieren Sie Privileged Remote Access auf 25.1.1 oder neuer, entsprechend dem aktuellen BeyondTrust-Hinweis.
- ✓Wenn ein selbst gehostetes System bis zum 9. Februar 2026 internet-exponiert und ungepatcht war, befolgen Sie BeyondTrusts Incident-Response-Anweisungen und untersuchen Sie unbefugten Zugriff, Persistenz, Rechteausweitung und Datenzugriffe.
- ✓Prüfen Sie Netzwerk- und Anwendungstelemetrie auf unerwartete WebSocket-Sitzungen sowie ungewöhnliche Kindprozesse oder Befehle des Dienstkontos; gleichen Sie Alarme mit dem Normalverhalten der Appliance ab.
- ✓Validieren Sie Protokollfelder an jeder Shell-Grenze mit einer strikten Zulassungsliste, bevor Sie numerisch vergleichen; übergeben Sie nicht vertrauenswürdigen Text weder an Bash-Arithmetik noch an
evaloder Befehlszeichenfolgen. - ✓Ergänzen Sie Regressionstests für leere, überlange, vorzeichenbehaftete, Leerzeichen enthaltende und nicht dezimale Versionswerte; sie müssen vor jedem Vergleich und Prozessstart abgewiesen werden.