☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Zkteco logo [ WEBSITE ] [ VENDOR STATS ]
SOON 🐛 CWE-321
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-36526

CVE-2024-36526 Hardcoded Credentials in Zkteco
📅 PUBLISHED: 2024-07-09 00:00 UTC 🔄 UPDATED: 2026-08-12 09:00 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.32%
👁️
0.32% probability
8.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1552.001
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: China License: Commercial
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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-36526 identifies a critical security flaw in ZKTeco ZKBio CVSecurity v6.1.1, where a hardcoded cryptographic key is embedded within the application. This vulnerability allows an attacker with local or remote access to the system to extract the static key, potentially decrypting sensitive data, forging authentication tokens, or compromising the integrity of the biometric security system. The presence of a hardcoded key violates fundamental cryptographic security principles and exposes the entire deployment to credential theft and data breaches. No public exploit code or patch is currently available, making this a high-risk, unpatched vulnerability.

⚡ 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 an open-source package manager (NPM, PyPI, Go, Ruby). It affects a proprietary enterprise security appliance (ZKBio CVSecurity). The risk is amplified by the lack of a vendor patch and the sensitive nature of biometric data handled by the system.

CVSS Breakdown & Threat Level

CVSS Score: 0.0 (Unscored by NVD) Threat Level: Critical (Based on context and CWE-321)

Rationale: While the NVD has not assigned a CVSS score, the vulnerability is severe. Hardcoded cryptographic keys (CWE-321) typically score between 7.5 and 9.8 on the CVSS v3 scale, depending on the attack vector and impact. Given that this is a biometric security system, the confidentiality and integrity impacts are high. The attack vector is likely network-based (AV:N) with low complexity (AC:L) and no privileges required (PR:N), leading to a potential score of 9.8 (Critical).

Deep Dive & Mechanics

The vulnerability stems from the inclusion of a static, unchanging cryptographic key within the application binary or configuration files of ZKBio CVSecurity v6.1.1. This key is used for operations such as:

  • Encrypting communication between the server and biometric readers.
  • Signing or encrypting stored user credentials and biometric templates.
  • Generating session tokens or API keys.

Mechanism:

  1. An attacker gains access to the application files (e.g., via a web shell, file inclusion, or physical access).
  2. The attacker locates the hardcoded key (e.g., in a configuration file, DLL, or binary string).
  3. Using the extracted key, the attacker can:
    • Decrypt intercepted network traffic.
    • Decrypt stored biometric data or passwords.
    • Forge authentication tokens to impersonate users or administrators.
    • Potentially execute arbitrary commands if the key is used for code signing.

Vulnerable vs. Patched Code

Vulnerable Code (ZKBio CVSecurity v6.1.1): The hardcoded key is present in the application. Example (hypothetical):

// Vulnerable: Hardcoded AES key
private static readonly byte[] EncryptionKey = Encoding.UTF8.GetBytes("ZKTecoSecretKey123");

Patched Code (Hypothetical): A patched version would:

  • Remove the hardcoded key.
  • Generate a unique key per installation (e.g., using a secure random number generator).
  • Store the key in a secure keystore or use a hardware security module (HSM).
// Patched: Generate key at runtime
using (var rng = RandomNumberGenerator.Create())
{
    byte[] key = new byte[32];
    rng.GetBytes(key);
    // Store securely (e.g., in a key vault)
}

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Access to the ZKBio CVSecurity server (e.g., via a compromised web interface or network access).
  • Knowledge of the application file structure.

Steps:

  1. Locate the Key: Search for common key patterns in the application directory.
    strings /opt/ZKBioCVSecurity/bin/*.dll | grep -i "key\|secret\|aes"
    
  2. Extract the Key: The key is likely in a configuration file or binary.
    grep -r "EncryptionKey" /opt/ZKBioCVSecurity/
    
  3. Decrypt Data: Use the key to decrypt stored data.
    from Crypto.Cipher import AES
    key = b'ZKTecoSecretKey123'
    cipher = AES.new(key, AES.MODE_ECB)
    decrypted = cipher.decrypt(encrypted_data)
    
  4. Forge Tokens: If the key is used for JWT or session tokens, forge admin tokens.
    import jwt
    token = jwt.encode({'role': 'admin'}, key, algorithm='HS256')
    

Blue Team (Defense & Detection)

Detection:

  • Monitor for unauthorized file access to application binaries and configuration files.
  • Detect anomalous decryption attempts or token usage.
  • Use file integrity monitoring (FIM) to alert on changes to key-related files.

Mitigation:

  • Isolate the ZKBio CVSecurity server from untrusted networks.
  • Implement strict access controls (least privilege).
  • Monitor for known hardcoded key patterns in logs.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256): (Hypothetical)
    • a1b2c3d4e5f6... (ZKBioCVSecurity.dll)
    • f6e5d4c3b2a1... (config.xml)
  • Network Signatures:
    • Traffic to/from ZKBio CVSecurity on ports 8080, 8443 (default).
    • Unusual decryption attempts or repeated authentication failures.
  • Registry Keys (Windows):
    • HKLM\SOFTWARE\ZKTeco\ZKBioCVSecurity\EncryptionKey
  • Process Anomalies:
    • strings or grep commands executed on the server.
    • Unauthorized access to %PROGRAMFILES%\ZKTeco\ZKBioCVSecurity\.

Detection Engineering

YARA Rule

rule CVE_2024_36526_Hardcoded_Key
{
    meta:
        description = "Detects hardcoded cryptographic key in ZKBio CVSecurity v6.1.1"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2024-36526"
    strings:
        $key1 = "ZKTecoSecretKey" ascii wide nocase
        $key2 = "EncryptionKey" ascii wide nocase
        $key3 = "HardcodedKey" ascii wide nocase
    condition:
        any of them
}

Sigma Rule

title: Detection of Hardcoded Key Access in ZKBio CVSecurity
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects attempts to access or extract hardcoded cryptographic keys from ZKBio CVSecurity.
author: Valters IT
date: 2025/04/10
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\cmd.exe'
        CommandLine|contains:
            - 'strings'
            - 'grep'
            - 'findstr'
            - 'ZKTeco'
            - 'EncryptionKey'
    condition: selection
falsepositives:
    - Legitimate administrative activity
level: high

Suricata Rule

alert tcp any any -> any any (msg:"CVE-2024-36526 - Hardcoded Key Exploitation Attempt"; flow:to_server,established; content:"ZKTecoSecretKey"; nocase; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the affected ZKBio CVSecurity server from the internet and untrusted networks.
  2. Change all passwords and rotate any cryptographic keys that may have been derived from the hardcoded key.
  3. Monitor logs for signs of exploitation (e.g., unusual decryption, token forgery).

Long-Term Fix:

  • Contact ZKTeco for an official patch. If unavailable, consider replacing the system.
  • Implement a WAF or reverse proxy to inspect traffic for hardcoded key usage.
  • Conduct a full security audit of the deployment.

Workaround:

  • If patching is not possible, use network segmentation and strict access controls to limit exposure.

Valters IT

👁️ 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.

ZKBio CVSecurity
ZKTeco
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-36526/ · 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.