
Tre vulnerabilità non autenticate nel protocollo di controllo WiFi locale della dashcam Thinkware U3000: scrittura arbitraria di file, lettura arbitraria di file e divulgazione in chiaro delle credenziali WiFi. CVE-2026-101053, CVE-2026-101054, CVE-2026-101055.
Tre vulnerabilità nel protocollo di controllo WiFi locale della dashcam Thinkware U3000, scoperte tramite reverse engineering dell'app Android ufficiale e confermate su hardware reale. Tutte e tre richiedono solo l'accesso alla rete locale: nessun accesso fisico al dispositivo, nessuna autenticazione preventiva e nessuna collaborazione da parte del proprietario del dispositivo.
Divulgato a Thinkware il 2026-06-21. La finestra di divulgazione di 30 giorni si è chiusa con solo un riconoscimento di ricezione non tecnico.
Le dash cam sono una categoria insolita per questo tipo di esposizione. Registrano continuamente gli spostamenti di un veicolo e cambiano spesso proprietario attraverso noleggi, gestione di flotte e vendite di auto usate. Chi ha attualmente accesso al veicolo non necessariamente controlla la rete su cui è configurato. Combinato con una primitiva di scrittura arbitraria di file e l'assenza totale di autenticazione sul protocollo di controllo, questo va oltre una semplice preoccupazione per la privacy. È anche una preoccupazione per la manomissione: qualsiasi file sul dispositivo, non solo i video, può essere alterato o sostituito all'insaputa del proprietario.
Questa non è nemmeno la prima volta che una vulnerabilità di questa forma compare in una dash cam Thinkware. Il ricercatore indipendente geo-chen ha precedentemente divulgato diversi problemi nel modello correlato F800 Pro; vedi geo-chen/Thinkware-Dashcam. Quelli richiedevano generalmente accesso fisico o al filesystem locale per essere sfruttati. I risultati seguenti non richiedono né l'uno né l'altro: è sufficiente il solo accesso alla rete, e il risultato sulla scrittura di file è una capacità più forte di qualsiasi cosa in quel set precedente.
Nota sul modello interessato: tutti i risultati seguenti sono stati confermati sul modello base Thinkware U3000. Thinkware vende anche una variante separata "U3000 Pro"; non è stato testato se condivida la stessa implementazione del protocollo.
CVE: CVE-2026-101053 (VulDB #410915)
Analisi completa:
findings/01-arbitrary-file-write.md
Prodotto: Thinkware U3000 Dashcam
Componente interessato: Protocollo di controllo TCP (comando porta 7878 / dati porta 8787), nessuna autenticazione
Vettore di attacco: Qualsiasi dispositivo sulla stessa rete locale può scrivere contenuto controllato dall'attaccante su qualsiasi percorso assoluto nel filesystem del dispositivo.
Il protocollo di controllo del dispositivo espone un comando PUT_FILE che scrive byte forniti dall'attaccante su un percorso assoluto fornito dall'attaccante, senza alcuna validazione del percorso o sandboxing. Confermato scrivendo un file direttamente nella directory /tmp del dispositivo, la stessa directory che contiene la sua configurazione WiFi (wpa_supplicant.conf) e almeno uno script shell (hidraw0.sh), e rileggendolo byte per byte per confermare l'esatta collocazione.

START_SESSION -> SET_CLNT_INFO -> APP_CONNECT.PUT_FILE con param impostato su un percorso al di fuori di qualsiasi luogo in cui l'app ufficiale scriverebbe legittimamente.{"rval": 0, "msg_id": 1286} immediatamente, poi invia successivamente una NOTIFICATION asincrona (msg_id 7) che conferma il completamento.LS sulla directory padre conferma che il file è presente con l'esatto nome richiesto, insieme ai file di sistema.GET_FILE sullo stesso percorso rilegge il contenuto per un confronto byte per byte con quanto inviato.CVE: CVE-2026-101054 (VulDB #410916)
Analisi completa:
findings/02-arbitrary-file-read.md
Prodotto: Thinkware U3000 Dashcam
Componente interessato: Protocollo di controllo TCP (comando porta 7878 / dati porta 8787), nessuna autenticazione
Vettore di attacco: Qualsiasi dispositivo sulla stessa rete locale può elencare e leggere qualsiasi percorso assoluto nel filesystem del dispositivo, non solo i video registrati.
I comandi LS e GET_FILE dello stesso protocollo enumerano e leggono qualsiasi percorso assoluto senza restrizioni. Confermato leggendo direttamente il wpa_supplicant.conf attivo del dispositivo, che contiene il suo reale SSID WiFi e la password in chiaro. Questo è il risvolto di lettura del Risultato 1: stessa causa principale, direzione opposta, e un percorso meccanicamente distinto verso le stesse credenziali esposte nel Risultato 3.
START_SESSION -> SET_CLNT_INFO -> APP_CONNECT.LS su /tmp conferma che wpa_supplicant.conf è presente, insieme ad altri file di sistema (hidraw0.sh, aws.dat, resolv.conf, ecc).GET_FILE con param: "/tmp/wpa_supplicant.conf" restituisce la dimensione del file, poi l'intero contenuto viene trasmesso sul socket dati esattamente come farebbe per un file video.ssid=/psk= corrispondenti alla rete effettivamente configurata sulla telecamera.CVE: CVE-2026-101055 (VulDB #410917)
Analisi completa:
findings/03-wifi-credential-disclosure.md
Prodotto: Thinkware U3000 Dashcam
Componente interessato: Protocollo di controllo TCP (porta 7878), nessuna autenticazione
Vettore di attacco: Qualsiasi dispositivo sulla stessa rete locale può recuperare direttamente la password WiFi della telecamera, senza autenticazione e senza alcun accesso preventivo.
Una query di stato dedicata, GET_STATUS "wifi_info", restituisce direttamente l'SSID WiFi del dispositivo e la password in chiaro. Questo è un meccanismo diverso dal Risultato 2, che non richiede alcun accesso al filesystem, ma solo una normale lettura dello stato del protocollo.
START_SESSION -> SET_CLNT_INFO -> APP_CONNECT.GET_STATUS con param: "wifi_info".{"rval": 0, "msg_id": 2050, "type": "wifi_info", "param": [{"ssid": "<real SSID>"}, {"password": "<real plaintext password>"}, {"mac": "<real MAC>"}]}.