☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Zkteco logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 10 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-121
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-3943

CVE-2023-3943 Stack Buffer Overflow in Zkteco
📅 PUBLISHED: 2024-05-21 13:32 UTC 🔄 UPDATED: 2026-08-12 09:01 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.59%
👁️
0.59% probability
14.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: China License: Commercial
VULNERABLE: ZAM170-NF-1.8.25-7354-Ver1.0.0 (and possibly others)
CVSS VECTOR BREAKDOWN 10.0
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
10.0
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-3943 is a critical stack-based buffer overflow vulnerability affecting ZkTeco-based OEM devices, including the ZkTeco ProFace X, Smartec ST-FR043, and Smartec ST-FR041ME. The vulnerability resides in firmware version ZAM170-NF-1.8.25-7354-Ver1.0.0 and potentially other versions. With a CVSS score of 10.0, it allows remote, unauthenticated attackers to execute arbitrary code due to the absence of stack canaries and Position Independent Executable (PIE) protections. The EPSS score is 0.0%, indicating low exploitation probability in the wild, but the lack of a patch makes it a high-priority risk for affected organizations. No public proof-of-concept (PoC) or exploit code is available at this time.

⚡ 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

Supply Chain & Package Security

This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It affects embedded firmware in physical access control devices, making supply chain security a concern for hardware procurement and firmware updates.

CVSS Breakdown & Threat Level

  • CVSS Score: 10.0 (Critical)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Attack Vector: Network (AV:N) – exploitable remotely.
  • Attack Complexity: Low (AC:L) – no special conditions required.
  • Privileges Required: None (PR:N) – no authentication needed.
  • User Interaction: None (UI:N) – no user action required.
  • Scope: Unchanged (S:U) – vulnerability does not affect other components.
  • Confidentiality Impact: High (C:H) – full data compromise.
  • Integrity Impact: High (I:H) – full system control.
  • Availability Impact: High (A:H) – potential denial of service.

Threat Level: Critical. The vulnerability allows remote code execution with no authentication, making it a prime target for ransomware or botnet operators.

Deep Dive & Mechanics

The vulnerability is a stack-based buffer overflow (CWE-121) in the firmware of ZkTeco-based OEM devices. The firmware lacks stack canaries and PIE, which are standard protections against buffer overflow exploitation. This allows an attacker to overwrite the return address on the stack and redirect execution to arbitrary code.

The overflow likely occurs in a network-facing service (e.g., HTTP, proprietary protocol) that processes user-supplied input without proper bounds checking. By sending a crafted payload, an attacker can corrupt the stack and achieve code execution. The absence of stack canaries means no detection of stack corruption, and the lack of PIE means fixed memory addresses can be used for shellcode or ROP chains.

The vulnerability affects devices used for physical access control, making it a significant risk for physical security systems.

Vulnerable vs. Patched Code

Since no patch is available, a comparison cannot be made. However, the vulnerable code likely lacks input validation and stack protection mechanisms. A patched version would include:

  • Bounds checking on all input buffers.
  • Stack canaries to detect overflow.
  • PIE to randomize memory addresses.
  • Proper input sanitization.

Exploitation & Lab Setup

Red Team

Objective: Achieve remote code execution on a ZkTeco device.

Lab Setup:

  • Target: ZkTeco ProFace X with firmware ZAM170-NF-1.8.25-7354-Ver1.0.0.
  • Attacker: Kali Linux with Python3 and pwntools.
  • Network: Both on the same subnet.

Exploitation Steps:

  1. Reconnaissance: Scan for the device using Nmap:
    nmap -p 80,443,8080,8443 <target_ip>
    
  2. Identify Service: Determine the vulnerable service (e.g., HTTP on port 80).
  3. Craft Payload: Create a buffer overflow payload using Python:
    import socket
    import struct
    
    # Example payload (placeholder)
    payload = b"A" * 1000  # Overflow buffer
    payload += struct.pack("<I", 0xdeadbeef)  # Overwrite return address
    
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect(("target_ip", 80))
    sock.send(payload)
    sock.close()
    
  4. Execute: Send the payload and observe device behavior (e.g., crash or shell).

Note: No public exploit exists; this is a conceptual approach.

Blue Team

Detection:

  • Monitor for anomalous network traffic to port 80/443 on ZkTeco devices.
  • Use IDS/IPS rules to detect oversized payloads.
  • Enable logging on devices and review for crashes or unexpected reboots.

Mitigation:

  • Isolate devices on a separate VLAN.
  • Apply strict firewall rules to limit access.
  • Monitor vendor channels for patches.

Indicators of Compromise (IOCs)

  • Network: Unusually large HTTP POST requests to ZkTeco devices.
  • System: Device crashes or unexpected reboots.
  • Logs: Stack corruption errors in device logs (if available).
  • File: Presence of unknown binaries or scripts on the device (if accessible).

Detection Engineering

YARA Rule

rule CVE_2023_3943_Exploit {
    meta:
        description = "Detects exploit attempts for CVE-2023-3943"
        author = "Valters IT"
        date = "2025-04-10"
    strings:
        $overflow = {41 41 41 41 41 41 41 41}  // Pattern of 'A' characters
        $ret_addr = {ef be ad de}  // Example return address
    condition:
        $overflow or $ret_addr
}

Sigma Rule

title: CVE-2023-3943 Exploit Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects oversized network packets targeting ZkTeco devices
logsource:
    category: network
    product: suricata
detection:
    selection:
        dest_port: [80, 443]
        length: "> 1000"
    condition: selection
falsepositives:
    - Legitimate large data transfers
level: high

Suricata Rule

alert tcp any any -> $HOME_NET 80 (msg:"CVE-2023-3943 Exploit Attempt"; flow:to_server; content:"|41 41 41 41|"; depth:1000; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate Devices: Place ZkTeco devices on a separate VLAN with strict firewall rules.
  2. Disable Unused Services: Turn off any unnecessary network services on the devices.
  3. Monitor Logs: Enable and review device logs for signs of exploitation.

Long-term Solutions:

  1. Vendor Patch: Await a firmware update from ZkTeco or OEM vendors.
  2. Replace Hardware: If no patch is released, consider replacing affected devices.
  3. Network Segmentation: Implement zero-trust network access for IoT devices.

Workarounds:

  • Use a web application firewall (WAF) to filter oversized requests.
  • Implement intrusion prevention systems (IPS) with custom rules.

Valters IT
Securing Your Digital Frontier

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

ZkTeco ProFace X
Smartec ST-FR043
Smartec ST-FR041ME

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-3943/ · 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.