
Divulgation d'un contournement de l'authentification côté client dans l'interface web de la caméra AVer exposant des identifiants non chiffrés via la surveillance du trafic réseau.
Détails du problème
Modèle de caméra PTC310UV2 exécutant la version de firmware 0.1.0000.59. La vulnérabilité se trouve dans l'interface web utilisée pour accéder à la caméra. La vulnérabilité a été découverte lors d'un test d'intrusion, par conséquent, certaines informations dans les captures d'écran de la preuve de concept ont été masquées.
Description
Cette divulgation contient deux vulnérabilités qui ont été identifiées dans l'interface web de connexion du firmware AVer. Il convient de noter que je ne connais pas très bien vos produits, ce qui signifie que certains termes pourraient ne pas être utilisés correctement.
Cette constatation est un peu plus complète que CVE-2025-45619, bien qu'elle concerne principalement l'authentification côté client. L'inspection du code source de l'application web révèle le mécanisme d'authentification qui est appliqué. Lorsque le mécanisme d'authentification est effectué sur le frontend, cela signifie que l'application doit récupérer les identifiants depuis un endroit, dans ce cas un point de terminaison, et les amener dans le frontend. Dans ce cas, la fonction affichée ci-dessous récupère les identifiants depuis le point de terminaison identifié dans la première constatation vers le frontend.
La ligne ‘SendAction(“Get=acc”, function(data)’ fait une requête vers la première constatation pour récupérer l'application qui renvoie les identifiants dans un format “username&password&”. Ensuite, la fonction analyse la chaîne renvoyée et définit le nom d'utilisateur sur “auth_user” et le mot de passe sur “auth_pwd”. Enfin, la fonction compare les valeurs à celles fournies par l'utilisateur (name et pwd), et poursuit le flux de connexion selon que les identifiants sont corrects ou non. L'application effectue l'appel pour les identifiants, que ceux-ci soient valides ou non. Cela signifie que si un attaquant surveille le trafic réseau dans son navigateur, le nom d'utilisateur ou le mot de passe seront exposés – non chiffrés. Ce processus est illustré dans les figures ci-dessous.
Le stockage ou le transfert de mots de passe dans le frontend est contraire aux bonnes pratiques ; l'authentification devrait plutôt être gérée de manière sécurisée à l'aide de méthodes basées sur des jetons (par exemple, JWT, OAuth).