
Offenlegung einer clientseitigen Authentifizierungsumgehung in der Weboberfläche von AVer-Kameras, die unverschlüsselte Anmeldedaten durch Netzwerkverkehrsüberwachung preisgibt.
Problemdetails
Kameramodell PTC310UV2 mit Firmware-Version 0.1.0000.59. Die Schwachstelle befindet sich in der Weboberfläche, die für den Zugriff auf die Kamera verwendet wird. Die Schwachstelle wurde während eines Penetrationstests entdeckt, daher wurden bestimmte Informationen in den PoC-Screenshots geschwärzt.
Beschreibung
Diese Offenlegung enthält zwei Schwachstellen, die in der AVer-Firmware-Anmelde-Weboberfläche identifiziert wurden. Es sei darauf hingewiesen, dass ich mit keinem Ihrer Produkte sehr vertraut bin, was bedeutet, dass einige Begriffe möglicherweise nicht korrekt verwendet werden.
Dieser Befund ist etwas umfassender als CVE-2025-45619, bezieht sich jedoch hauptsächlich auf die clientseitige Authentifizierung.
Die Inspektion des Quellcodes der Webanwendung zeigt den verwendeten Authentifizierungsmechanismus. Wenn der Authentifizierungsmechanismus im Frontend ausgeführt wird, bedeutet dies, dass die Anwendung Anmeldeinformationen von irgendwoher, in diesem Fall einem Endpunkt, abrufen und in das Frontend holen muss. In diesem Fall ruft die unten angezeigte Funktion die Anmeldeinformationen vom im ersten Befund identifizierten Endpunkt ins Frontend ab.
Die Zeile SendAction(“Get=acc”, function(data) sendet eine Anfrage an den ersten Befund, um die Anwendung abzurufen, die die Anmeldeinformationen im Format “username&password&” zurückgibt. Als nächstes analysiert die Funktion die zurückgegebene Zeichenfolge und setzt den Benutzernamen auf “auth_user” und das Passwort auf “auth_pwd”. Schließlich vergleicht die Funktion die Werte mit denen, die vom Benutzer bereitgestellt wurden (name und pwd), und setzt den Anmeldeablauf fort, je nachdem, ob die Anmeldeinformationen korrekt sind oder nicht.
Die Anwendung führt den Aufruf nach Anmeldeinformationen unabhängig davon durch, ob die Anmeldeinformationen gültig sind oder nicht. Das bedeutet, dass der Benutzername oder das Passwort unverschlüsselt offengelegt werden, wenn ein Angreifer den Netzwerkverkehr in seinem Browser überwacht. Dieser Vorgang wird in den folgenden Abbildungen dargestellt.
Das Speichern oder Übertragen von Passwörtern im Frontend verstößt gegen die Best Practices; stattdessen sollte die Authentifizierung sicher mit tokenbasierten Methoden (z. B. JWT, OAuth) erfolgen.