
Transmisión de información sensible en texto claro en la aplicación Android EagleEyes Lite
En EagleEyes Lite (versión 2.0.0), el método GetHttpsResponse() transmite información sensible como identificadores de cuenta, contraseñas, tokens de dispositivo y URLs internas del servidor directamente en la cadena de consulta de una solicitud HTTPS.
Debido a que estas credenciales y tokens están incrustados en la URL en lugar de colocarse de forma segura en el cuerpo de la solicitud, cualquier adversario que realice un ataque MITM puede extraerlos fácilmente.
Aunque la conexión utiliza nominalmente HTTPS, la exposición de dichos parámetros sensibles en texto claro dentro de la URL aumenta significativamente el riesgo de fuga de credenciales y de acceso no autorizado a los sistemas CCTV de AVTECH.
Esta debilidad socava la confidencialidad de los datos del usuario y hace que la aplicación sea particularmente vulnerable cuando opera en redes no confiables.
Cuando el dispositivo ejecuta versiones de Android anteriores a 8.0, es decir, SDK_API_26 está establecido en false, el método no devuelve GetHttpsUrlResponse().
En su lugar, ejecuta la lógica vulnerable dentro del bloque try.
public static String GetHttpsResponse(String str) {
if (SDK_API_26) {
return GetHttpsUrlResponse(str);
}
try {
...
HttpResponse execute = new DefaultHttpClient(
new SingleClientConnManager(defaultHttpClient.getParams(), schemeRegistry),
defaultHttpClient.getParams()
).execute(new HttpPost(str));
...
}
...
}
Aquí, el parámetro str contiene la URL completa de la solicitud, que incrusta información sensible como account_id y password directamente en la cadena de consulta.
Como resultado, las credenciales de usuario quedan expuestas en texto claro dentro de la URL, lo que las hace susceptibles a fugas si son interceptadas mediante un ataque MITM o registradas por sistemas intermedios.
Al ejecutar el script de hooking de Frida hook.js, confirmamos que se invocó el método GetHttpsResponse() y que la URL de solicitud generada contenía información sensible (como account_id y password) en texto claro.
Para un análisis detallado de la implementación vulnerable de GetHttpsResponse(), consulte CVE-2025-46408.
La aplicación nunca debe incluir información sensible como identificador de cuenta, contraseña o tokens de autenticación en los parámetros de consulta de la URL.
En su lugar, las credenciales deben transmitirse de forma segura dentro del cuerpo de la solicitud HTTPS utilizando parámetros POST. Esto evita que los valores sensibles queden expuestos en URLs, registros o sistemas intermedios.