CVE-2023-38956

7.5 HIGH

📋 TL;DR

This CVE describes a path traversal vulnerability in ZKTeco BioAccess IVS v3.3.1 that allows unauthenticated attackers to read arbitrary files on the system by sending specially crafted payloads. Organizations using this specific version of ZKTeco's biometric access control software are affected. The vulnerability enables attackers to potentially access sensitive configuration files, credentials, or other system data without authentication.

💻 Affected Systems

Products:
  • ZKTeco BioAccess IVS
Versions: v3.3.1
Operating Systems: Windows
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability affects the default installation of BioAccess IVS v3.3.1. No special configuration is required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could read sensitive system files including configuration files, password hashes, or database credentials, potentially leading to full system compromise or lateral movement within the network.

🟠

Likely Case

Attackers will read configuration files and potentially extract credentials or sensitive information that could be used for further attacks against the biometric system or connected infrastructure.

🟢

If Mitigated

With proper network segmentation and access controls, the impact would be limited to the isolated biometric system without exposing broader network resources.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability requires no authentication and exploitation is straightforward once the payload format is understood.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v3.3.2 or later

Vendor Advisory: http://zkteco.com

Restart Required: Yes

Instructions:

1. Download the latest version from ZKTeco's official website. 2. Backup current configuration and data. 3. Install the updated version following vendor instructions. 4. Restart the BioAccess IVS service or system.

🔧 Temporary Workarounds

Network Access Restriction

linux

Restrict network access to the BioAccess IVS system to only trusted IP addresses or internal networks.

Use firewall rules to limit access: iptables -A INPUT -p tcp --dport [BioAccess_port] -s [trusted_network] -j ACCEPT
iptables -A INPUT -p tcp --dport [BioAccess_port] -j DROP

Application Firewall Rules

all

Implement web application firewall rules to block path traversal patterns in HTTP requests.

ModSecurity rule: SecRule ARGS "@contains ../" "id:1001,phase:2,deny,msg:'Path Traversal Attempt'"
Add input validation to reject requests containing '../' sequences

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate the BioAccess IVS system from other critical infrastructure
  • Deploy a web application firewall (WAF) in front of the system with rules specifically blocking path traversal patterns

🔍 How to Verify

Check if Vulnerable:

Test by attempting to access system files via the vulnerable endpoint with path traversal payloads (e.g., GET /vulnerable_endpoint?file=../../../../etc/passwd). Only perform in authorized testing environments.

Check Version:

Check the software version in the BioAccess IVS administration interface or configuration files.

Verify Fix Applied:

After patching, attempt the same path traversal payloads and verify they are rejected or return appropriate error messages instead of file contents.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests containing '../' sequences
  • Unusual file access patterns from external IPs
  • Multiple failed file access attempts

Network Indicators:

  • HTTP requests with path traversal patterns (../, ..\, %2e%2e%2f)
  • Unusual file extensions in URL parameters
  • Requests for known system files from external sources

SIEM Query:

source="BioAccess_IVS" AND (url="*../*" OR url="*..\\*" OR url="*%2e%2e%2f*")

🔗 References

📤 Share & Export