ZTE ZXHN H188A Unauthenticated Wizard Handler Credential Disclosure / Auth Bypass (CVE-2026-34472)
by minanagehsalalma · 2026-07-05
- Severity
- Critical
- CVE
- CVE-2026-34472
- Category
- network
- Affected product
- ZTE ZXHN H188A V6 home router firmware
- Affected versions
- ZXHN H188A V6.0.10P2_TE, V6.0.10P3N3_TE
- Disclosed
- 2026-07-05
- Patch status
- unpatched
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-05 |
| Author / Researcher | minanagehsalalma |
| CVE / Advisory | CVE-2026-34472 |
| Category | network |
| Severity | Critical |
| CVSS Score | Not specified in source |
| Status | PoC |
| Tags | router, firmware, unauthenticated, auth-bypass, credential-leak, iot, zte, wifi |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | ZTE ZXHN H188A V6 home router firmware |
| Versions Affected | ZXHN H188A V6.0.10P2_TE, V6.0.10P3N3_TE |
| Language / Platform | Python 3 (PoC), target is embedded Lua-based router web management interface |
| Authentication Required | No |
| Network Access Required | Yes |
Summary
CVE-2026-34472 is an authentication bypass in ZTE ZXHN H188A V6 routers caused by unauthenticated access to pre-login “wizard” handlers. Root-path routing trusts attacker-controlled _type/_tag parameters, and the QuickSetupEnable gate that should block this only runs in a fallback path that is skipped whenever _type is present — letting unauthenticated requests reach handlers that disclose the WLAN PSK, SSID, and PPPoE username. Critically, the leaked Wi-Fi password becomes the router’s default administrator password after uppercasing, turning a data leak into full authentication bypass. The PoC script issues the pre-login wizard requests (getPassword, wlan_get, ppp_get) against one or more targets and extracts the recovered credentials and session token.
Vulnerability Details
Root Cause
router_logic_impl.lua accepts attacker-controlled _type/_tag values for empty-path requests, and urlpath_2type_modifier.lua only enforces the QuickSetupEnable restriction when _type is absent, allowing Tedata_notLogin_wizard_page_manage.lua to serve pre-login wizard data (including credential-bearing getPassword/wlan_get/ppp_get actions) to unauthenticated callers.
Attack Vector
- Send an unauthenticated
GETrequest to the router root path with_type=tedataNotLoginData,_tag=wizard_lua.lua, andIF_ACTION=getPassword(plusBAND/PASSTYPEparameters) to retrieve the Wi-Fi password. - Send similarly-crafted requests with
IF_ACTION=wlan_getandIF_ACTION=ppp_getto recover the SSID and PPPoE username. - Uppercase the recovered Wi-Fi password — this is the router’s default administrator password — and use it to log into the admin web interface.
- With admin access obtained, optionally use related
cmapi.setinstwrite paths in the same handler family for further configuration changes.
Impact
Any unauthenticated attacker with network access to the router’s web interface can recover Wi-Fi credentials and, by extension, the default administrator password, achieving full authentication bypass and administrative control of the device. At disclosure time roughly 500 H188A interfaces were found publicly exposed on the internet.
Environment / Lab Setup
Target: ZTE ZXHN H188A V6.0.10P2_TE / V6.0.10P3N3_TE router web interface
Attacker: Python 3, requests library
Proof of Concept
PoC Script
See
extract_wizard_credentials.pyandtargets.txt.examplein this folder.
| |
The script sends the unauthenticated getPassword, wlan_get, and ppp_get wizard requests to each target over HTTPS/HTTP, then prints a table of the recovered WLAN PSK, ESSID, PPPoE username, and any returned session token per host.
Detection & Indicators of Compromise
Signs of compromise:
- Unauthenticated requests to the router root path containing
_type=tedataNotLoginDataand wizardIF_ACTIONparameters - Administrator logins immediately following such requests from the same source IP
- Unexpected changes to Wi-Fi or PPPoE configuration without a corresponding legitimate admin session
Remediation
| Action | Detail |
|---|---|
| Primary fix | No vendor patch confirmed as of 2026-07-05 — ZTE PSIRT declined CVE assignment before MITRE assigned it directly |
| Interim mitigation | Disable remote/WAN-facing administration, restrict management interface access to trusted LAN only, and change the default administrator password so it no longer matches the Wi-Fi password |
References
Notes
Mirrored from https://github.com/minanagehsalalma/cve-2026-34472-auth-bypass-zte-h188a-router on 2026-07-05.
| |