
Öffentliche Offenlegung mehrerer gespeicherter XSS-Schwachstellen im Sensaphone WEB600 (CVE-2024-55040)
Mitte September 2024 identifizierte ich mehrere Sicherheitsprobleme mittlerer bis geringer Schwere im Sensaphone Web600 Monitoring System, darunter gespeicherte Cross-Site-Scripting-Schwachstellen (XSS) in den Optionen Setup, Profil und Zone des Systems. Authentifizierte Remote-Angreifer können den Fehler ausnutzen, um in einer Vielzahl von Elementen im gesamten Web600-Dashboard beliebige JavaScript-Payloads zu injizieren. Die Schwere der Probleme ist begrenzt; dennoch würde es Benutzern mit niedrigeren Berechtigungen ermöglichen, Sitzungstokens von Administratorkonten zu stehlen, ihren Systemzugriff effektiv zu erweitern und unbefugte Änderungen vorzunehmen. Die Schwachstelle wurde an der Firmware-Version v.1.6.5.H des Sensaphone Web600 getestet. Im Oktober bestätigte Sensaphone, dass ihnen die Schwachstellen bekannt waren. Sie reagierten nicht auf Anfragen, ob ein Patch herausgegeben wird, und wiesen darauf hin, dass für das Produkt der Betrieb in privaten Netzwerken empfohlen wird, was das Ausnutzungsrisiko verringert.
Zeitleiste der Offenlegung
Das Web600-Überwachungssystem ist über die Geräte-Setup-Optionen anfällig für mehrere gespeicherte XSS-Schwachstellen. Genauer gesagt können authentifizierte Remote-Angreifer beliebige JavaScript-Payloads in die Felder Name, Beschreibung und Standort der Systemeinstellungen injizieren. Angreifer können die Schwachstelle über manipulierte GET-Anfragen an /@.xml ausnutzen, indem sie Payloads in den Parametern g7200, g7300 und g7300 platzieren, die jeweils Name, Beschreibung und Standort darstellen. Die Payloads werden in jedem Abschnitt des Web600-Servers ausgeführt, beispielsweise in den Abschnitten Summary, Setup, Zones, Outputs, Profiles und History. Der folgende Proof of Concept verwendet das URL-kodierte Payload .

Das Web600-Überwachungssystem ist über die Geräteprofiloptionen anfällig für gespeicherte XSS-Schwachstellen. Genauer gesagt können authentifizierte Remote-Angreifer über manipulierte GET-Anfragen an /@.xml beliebige JavaScript-Payloads injizieren, indem sie Payloads im Parameter g4601 platzieren, der den Profilnamen des Benutzers darstellt. Die Payload wird auf der Profilseite ausgeführt. Der folgende Proof of Concept verwendet das URL-kodierte Payload .

Das Web600-Überwachungssystem ist über die Zonenoptionen anfällig für gespeicherte XSS-Schwachstellen. Genauer gesagt können authentifizierte Remote-Angreifer über manipulierte GET-Anfragen an /@.xml beliebige JavaScript-Payloads injizieren, indem sie die Payload im Parameter g1F02 platzieren, der den Zonennamen darstellt. Die Payloads werden auf der Hauptübersichtsseite und der Zoneneinstellungsseite ausgeführt. Der folgende POC verwendet das URL-kodierte Payload .
