
Detalles del problema
La cámara modelo PTC310UV2 ejecuta la versión de firmware 0.1.0000.59. La vulnerabilidad se encuentra en la interfaz web que se utiliza para acceder a la cámara. La vulnerabilidad se descubrió durante una prueba de penetración, por lo que cierta información en las capturas de pantalla del PoC ha sido redactada.
Descripción
Esta divulgación contiene dos vulnerabilidades que han sido identificadas en la interfaz web de inicio de sesión del firmware de AVer. Cabe señalar que no estoy muy familiarizado con ninguno de sus productos, lo que significa que algunos términos podrían no usarse correctamente.
Este hallazgo es un poco más exhaustivo en comparación con CVE-2025-45619, aunque se relaciona principalmente con la autenticación del lado del cliente. La inspección del código fuente de la aplicación web revela el mecanismo de autenticación que se está aplicando. Cuando el mecanismo de autenticación se realiza en el frontend, significa que la aplicación tiene que obtener las credenciales de algún lugar, en este caso de un endpoint, y llevarlas al frontend. En este caso, la función que se muestra a continuación obtiene las credenciales del endpoint identificado en el primer hallazgo y las trae al frontend.
La línea ‘SendAction(“Get=acc”, function(data)’ realiza una solicitud al primer hallazgo para obtener la aplicación, que devuelve las credenciales en un formato “username&password&”. A continuación, la función analiza la cadena devuelta y establece el nombre de usuario como “auth_user” y la contraseña como “auth_pwd”. Finalmente, la función compara los valores con los proporcionados por el usuario (name y pwd), y continúa el flujo de inicio de sesión dependiendo de si las credenciales son correctas o no. La aplicación realiza la llamada para obtener las credenciales independientemente de si son válidas o no. Esto significa que si un atacante monitoriza el tráfico de red en su navegador, el nombre de usuario o la contraseña quedarán expuestos, sin cifrar. Este proceso se muestra en las siguientes figuras.
Almacenar o transferir contraseñas en el frontend viola las buenas prácticas; en su lugar, la autenticación debería manejarse de forma segura utilizando métodos basados en tokens (p. ej., JWT, OAuth).