
Validação incorreta da cadeia de certificados no aplicativo Android EagleEyes Lite
O EagleEyes Lite (versão 2.0.0) não valida corretamente os certificados SSL/TLS do servidor durante a comunicação HTTPS.
O aplicativo implementa um X509TrustManager personalizado em push.lite.avtech.com.MySSLSocketFactoryNew.checkServerTrusted() que apenas verifica a expiração do certificado e omite a validação completa da cadeia de certificados.
Como resultado, atacantes podem explorar essa falha para realizar ataques MITM usando certificados autoassinados ou fraudulentos, levando à interceptação e manipulação de dados sensíveis de vigilância.
Por meio do X509TrustManager personalizado, o aplicativo apenas verifica a data de expiração do certificado e não valida se a cadeia de certificados é devidamente confiável.
@Override // javax.net.ssl.X509TrustManager
public void checkServerTrusted(X509Certificate[] x509CertificateArr, String str) throws CertificateException {
try {
x509CertificateArr[0].checkValidity();
} catch (Exception unused) {
throw new CertificateException("Certificate not valid or trusted.");
}
}
Por meio do X509TrustManager personalizado, o aplicativo apenas verifica a data de expiração do certificado e não valida se a cadeia de certificados é devidamente confiável.
Isso permite que um atacante MITM intercepte ou modifique facilmente as comunicações sensíveis entre o aplicativo e seu servidor backend.
O aplicativo deve substituir o X509TrustManager personalizado pela implementação padrão do sistema, que valida toda a cadeia de certificados. A verificação adequada do nome do host deve ser aplicada para evitar a aceitação de certificados incompatíveis ou não confiáveis.
A lógica de fallback insegura para versões antigas do Android deve ser removida ou atualizada com verificações de segurança equivalentes para garantir validação TLS consistente.