FlawOpen

flawopen.com/Teardowns/cve-2026-1731-beyondtrust-websocket-command-injection

● CVE-2026-1731 · CVSS v4 9.9[1] · Kritisch
Sicherheitsforschung · FlawOpen

CVE-2026-1731: BeyondTrust-Befehlsinjektion

CVE-2026-1731 ermöglicht unauthentifizierte Befehle per WebSocket auf BeyondTrust Remote Support/PRA. Patchen und exponierte Systeme untersuchen.

CVSS-VektorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:L/SI:H/SA:L[1]
💡 Einfache Erklärung (ELI5)

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

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

Schritt 1

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.

Schritt 2

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.

Schritt 3

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.

Schritt 4

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.

Schritt 5

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.

Schritt 6

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

VERWUNDBARE IMPLEMENTIERUNG
# Reduziertes Beispiel: remoteVersion stammt vom Gegenüber.
read -r remoteVersion || exit 1
if [[ "$localVersion" -lt "$remoteVersion" ]]; then
    version=$localVersion
else
    version=$remoteVersion
fi
GEHÄRTETER SICHERHEITS-PATCH
# 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

Quellen