Skip to main content

Zkteco Zkbiosecurity CVE-2016-20031

| EUVDEUVD-2016-10817 MEDIUM
Use of Hard-coded Credentials (CWE-798)
2026-03-15 VulnCheck
6.8
CVSS 4.0 · NVD
View

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Credential externalization
MITRE ATT&CK

2 techniques across 2 tactics: Persistence, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Impact

While the CVSS 3.1 score of 5.5 is moderate, multiple risk signals indicate higher practical concern: (1) Attack Vector is Local (AV:L) and Access Complexity is Low (AC:L), meaning any local user can exploit this without privilege escalation; (2) Confidentiality Impact is High (C:H), allowing unauthorized access to sensitive biometric or security data managed by ZKBioSecurity; (3) Public exploits are available on Packet Storm Security and Exploit-DB, reducing exploitation barriers significantly; (4) The vulnerability was reported by credible security researcher(s) through ZeroScience and VulnCheck, suggesting thorough analysis; (5) No patch availability data is present in references, suggesting end-of-life or unpatched status for version 3.0. The low CVSS score underrepresents risk due to AV:L constraint—in environments where local access is achievable (contractor workstations, supply-chain compromise, insider threat), this becomes a high-confidence privilege escalation or lateral movement path. SSVC perspective: Exploitation is likely (public POC), automatable (simple IP/password combo), and technical impact is high (access to credential storage, biometric data, system configuration). Real priority: HIGH for organizations actively running ZKBioSecurity 3.0.

Exploit ScenarioDerived

An attacker with local user access on a network where ZKBioSecurity 3.0 is deployed (e.g., contractor on corporate LAN, compromised workstation in same subnet, or VM co-tenancy scenario) crafts a web request to visLogin.jsp with IPv6 loopback address 0:0:0:0:0:0:0:1 as the client IP. The EnvironmentUtil.getClientIp() method fails to properly normalize this IPv6 format and treats it as a valid localhost connection. The attacker authenticates using the IPv6 address (or loopback variant) as username and password '123456'. The application grants access to the login portal, allowing the attacker to enumerate or modify users, extract biometric templates, modify access control policies, or access audit logs. Public POC code exists (Exploit-DB #40327, Packet Storm #138571) making this a paste-and-run exploit requiring minimal technical skill. In a supply-chain context, an attacker with brief physical or network access could pre-stage exploitation by installing a rogue service that repeatedly attempts this bypass, maintaining persistent access even after physical removal.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 15, 2026

ZKTeco ZKBioSecurity 3.0 contains a local authentication bypass vulnerability in visLogin.jsp that allows low-privileged attackers to authenticate without valid credentials by spoofing IPv6 loopback addresses and leveraging hardcoded credentials. An authenticated local attacker can access sensitive information and perform unauthorized actions; public exploits are available (Packet Storm Security, Exploit-DB), indicating moderate real-world risk despite the 5.5 CVSS score reflecting local-only attack vector.

RemediationAI

Specific patch versions are not documented in provided references. Recommended actions: (1) Contact ZKTeco Inc. directly to determine if patches exist for version 3.0 or if upgrade to version 4.x or later is required; (2) If patching is unavailable, implement network-level mitigations: restrict local access to ZKBioSecurity systems via host-based firewall rules (ufw, iptables on Linux; Windows Firewall on Windows); (3) Disable or restrict access to visLogin.jsp endpoint if an alternative authentication method exists; (4) Monitor for exploitation attempts by logging authentication via IPv6 loopback (0:0:0:0:0:0:0:1) or username matching IP addresses; (5) Consider upgrading to a newer ZKTeco product version if available and supported; (6) If the application permits, change the hardcoded password '123456' via application configuration files (if modifiable), though this may require source code modification. Immediate action: segregate ZKBioSecurity systems from untrusted local users.

Affected VersionsENISA

ZKTeco ZKBioSecurity 3.0.1.0_R_230

Affected Packages

euvd zkteco_zkbiosecurity no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability exists in the visLogin.jsp authentication handler of ZKTeco ZKBioSecurity (CPE: cpe:2.3:a:zkteco_inc.:zkteco_zkbiosecurity:*:*:*:*:*:*:*:*), specifically in the EnvironmentUtil.getClientIp() method. The root cause is CWE-798 (Use of Hard-Coded Credentials): the application implements a localhost-only authentication bypass using hardcoded password '123456' combined with the client IP address as username. The vulnerability exploits improper handling of IPv6 loopback notation (0:0:0:0:0:0:0:1) which should be equivalent to 127.0.0.1 but is handled inconsistently, allowing spoofing via IPv6 requests that bypass IP-based access controls. This is a classic implementation flaw where IP-based authentication combined with hardcoded credentials creates a trivial bypass path for any local user.

Know when Zkteco Zkbiosecurity gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
CVSS changed
Apr 15, 2026 - 15:22 NVD
5.5 (MEDIUM) 6.8 (MEDIUM)
PoC Detected
Mar 16, 2026 - 14:53 vuln.today
Public exploit code
CVE Published
Mar 15, 2026 - 13:35 nvd
MEDIUM 5.5

DescriptionCVE.org

ZKTeco ZKBioSecurity 3.0 contains a local authorization bypass vulnerability in visLogin.jsp that allows attackers to authenticate without valid credentials by spoofing localhost requests. Attackers can exploit the EnvironmentUtil.getClientIp() method which treats IPv6 loopback address 0:0:0:0:0:0:0:1 as 127.0.0.1 and authenticates using the IP as username with hardcoded password 123456 to access sensitive information and perform unauthorized actions.

Executive ViewAI

Why It Matters

Organizations using ZKTeco ZKBioSecurity 3.0 should be aware of moderate risk from CVE-2016-20031, a hard-coded credentials vulnerability rated CVSS 5.5. Exploitation could allow attackers to execute code or inject malicious input. Proof-of-concept code is publicly available. Organizations should apply vendor updates when available and monitor for exploitation.

Business Impact: Low
Compensating Controls

Apply vendor patch. If patching is delayed: restrict network access, enable MFA, monitor auth logs.

Threat Intelligence Overview

EPSS Score
0.0%
Top 99% exploitable
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Low

Priority Score

54
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy