
Validazione impropria della catena di certificati nell'applicazione Android EagleEyes Lite
EagleEyes Lite (versione 2.0.0) non riesce a validare correttamente i certificati server SSL/TLS durante la comunicazione HTTPS.
L'applicazione implementa un X509TrustManager personalizzato in push.lite.avtech.com.MySSLSocketFactoryNew.checkServerTrusted() che controlla solo la scadenza del certificato e omette la completa validazione della catena di certificati.
Di conseguenza, gli attaccanti possono sfruttare questa debolezza per eseguire attacchi MITM utilizzando certificati autofirmati o non affidabili, portando all'intercettazione e alla manipolazione di dati sensibili di sorveglianza.
Tramite il X509TrustManager personalizzato, l'applicazione verifica solo la data di scadenza del certificato e non valida se la catena di certificati è adeguatamente attendibile.
@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.");
}
}
Tramite il X509TrustManager personalizzato, l'applicazione verifica solo la data di scadenza del certificato e non valida se la catena di certificati è adeguatamente attendibile.
Ciò consente a un attaccante MITM di intercettare o modificare facilmente le comunicazioni sensibili tra l'applicazione e il suo server backend.
L'applicazione dovrebbe sostituire il X509TrustManager personalizzato con l'implementazione di sistema predefinita che valida l'intera catena di certificati. Deve essere imposta una corretta verifica del nome host per evitare di accettare certificati non corrispondenti o non attendibili.
La logica di fallback non sicura per le versioni legacy di Android dovrebbe essere rimossa o aggiornata con controlli di sicurezza equivalenti per garantire una validazione TLS coerente.