
Reolink Duo 2 WiFi v1.0.280 - Vulnerabilità di enumerazione degli account
Settembre 2024
CVE: https://www.cve.org/CVERecord?id=CVE-2024-48644
NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-48644
Tenable: https://www.tenable.com/cve/CVE-2024-48644
Vulnerabilità di enumerazione degli account nel Componente di Login della Reolink Duo 2 WiFi Camera (Versione firmware v3.0.0.1889_23031701) consente ad attaccanti remoti non autenticati di determinare account utente validi tramite tentativi di accesso. Ciò può portare all'enumerazione degli account utente e potenzialmente facilitare altri attacchi, come il brute-forcing delle password. La vulnerabilità deriva dal fatto che l'applicazione risponde in modo diverso ai tentativi di accesso con nomi utente validi e non validi.
Reolink Duo Wifi v3.0.0.1889_23031701
Reolink Duo 2 WiFi - https://reolink.com/br/product/reolink-duo-wifi/
Questa vulnerabilità può essere replicata tentando di accedere con nomi utente predefiniti o comuni. Le risposte distinte dell'applicazione a nomi utente validi e non validi consentono a potenziali attaccanti di individuare account validi. Nello specifico, l'applicazione risponde con password wrong quando viene fornito un nome utente valido con una password errata e con login failed quando viene fornito un nome utente non valido.
Di seguito è descritta una prova di concetto in tre passaggi per riprodurre e dimostrare la vulnerabilità:
Accedendo alla pagina di login, si osserva che il campo nome utente viene automaticamente popolato con admin. Ciò indica che admin potrebbe essere un nome utente predefinito.

Quando viene utilizzata una password errata, l'applicazione risponde con un array JSON contenente un oggetto. All'interno di questo oggetto, la proprietà error include un altro oggetto con due proprietà: detail e rspCode. La proprietà detail restituisce specificamente il messaggio password wrong.


Quando viene utilizzato un nome utente non valido, l'applicazione risponde con un array JSON contenente un oggetto. Questo oggetto include una proprietà error, che a sua volta contiene un altro oggetto con due proprietà: detail e rspCode. In questo caso, la proprietà detail restituisce il messaggio login failed, indicando che il nome utente non esiste.


Per mitigare questa vulnerabilità di enumerazione degli account, si raccomanda di implementare un messaggio di errore generico per tutti i tentativi di accesso falliti, indipendentemente dal motivo. Ciò significa che, sia che un nome utente sia valido o meno, o che una password sia corretta o meno, l'applicazione dovrebbe sempre restituire un messaggio generico come Invalid username or password. Questo impedisce a potenziali attaccanti di distinguere tra nomi utente validi e non validi in base alle risposte dell'applicazione.
CWE-200: Esposizione di Informazioni Sensibili a un Attore Non Autorizzato
OWASP - 04 Test per l'Enumerazione degli Account e degli Account Utente Indovinabili
Scoperto da Rosemberg Silva