Skip to main content

ZKTeco BioTime CVE-2026-108797

| EUVDEUVD-2026-97168 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-12 VulDB GHSA-6674-3863-x8fv
5.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain low-privilege BioTime account
  2. Delivery
    Authenticate to Employee REST API
  3. Exploit
    Manipulate object reference at /personnel/api/employees/
  4. Execution
    Bypass authorization check
  5. Impact
    Read unauthorized employee personnel data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Exploitation targets the Employee REST API endpoint /personnel/api/employees/ and requires a valid low-privilege authenticated session (CVSS PR:L) - it is NOT unauthenticated. The attacker then manipulates a user-controlled key/object reference to access records outside their authorization scope. Limiting factors: the attacker must first possess or obtain valid (even low-tier) BioTime credentials and the target must expose the BioTime web/REST API over a reachable network path; impact is confined to confidentiality of personnel data (no write/integrity or availability effect per VI:N/VA:N), so this does not by itself yield account takeover or system compromise.

Impact

This is a medium-severity authorization bypass (CWE-639, IDOR-class) in the ZKTeco BioTime Employee REST API, rated CVSS 4.0 base 5.3 with vector AV:N/AC:L/AT:N/PR:L/UI:N and only low confidentiality impact (VC:L) and no integrity or availability impact (VI:N/VA:N). The combined signals point to a modest, not urgent, priority: the network attack vector and low complexity make it easy to attempt, but PR:L means the attacker must already hold at least a low-privilege authenticated account, which meaningfully narrows the realistic attacker population to insiders or anyone who can obtain valid low-tier credentials. No EPSS score was provided in the input, the CVE is not listed in CISA KEV, and no public proof-of-concept is referenced, so there is no public exploit identified at time of analysis. The one notable amplifier is the vendor posture: VulDB states the vendor was contacted but did not respond, implying no patch is currently available, so the exposure is likely to persist. The scored impact is limited to confidentiality (reading/enumerating employee records the account should not access) rather than full account takeover, so despite easy remote reachability this is best treated as a data-exposure risk requiring prompt but not emergency remediation. Note the single-source nature (VulDB only, no NVD enrichment or vendor advisory) limits confidence in the precise impact scope.

Exploit ScenarioDerived

A low-privileged authenticated user of a ZKTeco BioTime deployment (for example a standard employee or a compromised low-tier account) sends crafted requests to /personnel/api/employees/, manipulating an identifier or object reference to read employee records belonging to other users or departments they should not be able to access. No public exploit code is referenced, but the low attack complexity (AC:L) means the request manipulation is straightforward once a valid session exists.

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

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

Alert me

AnalysisAIv1 – Oct 12, 2026

Authorization bypass in ZKTeco BioTime 9.5.6 Build 20260130.3206 allows an authenticated low-privilege user to read personnel records outside their authorization scope through the Employee REST API at /personnel/api/employees/. Exploitation requires a valid session (CVSS PR:L) and network reachability to the BioTime web/REST interface, and the resulting impact is confined to confidentiality of employee data (VC:L) with no integrity or availability effect. No public exploit code has been identified at time of analysis, no EPSS or CISA KEV data was provided, and the vendor was contacted about the disclosure but did not respond, so no vendor-released patch is identified at time of analysis.

RemediationAI

No vendor-released patch is identified at time of analysis: ZKTeco was contacted about the disclosure and did not respond, and no fixed build number appears in any reference, so remediation must currently rely on compensating controls until the vendor ships an update. The most effective immediate control is to stop exposing the BioTime web/REST interface to untrusted networks - bind it behind a VPN or a management-only network segment and block inbound access to /personnel/api/* from the general internet, accepting that this restricts remote and mobile workforce access and may require alternative connectivity for distributed terminals. Enforce strict server-side role checks so that only HR/administrator roles can query /personnel/api/employees/, since the bypass stems from trusting client-supplied object keys; the trade-off is that self-service or read-only integrations using low-privilege accounts will break until they are re-scoped. Deploy reverse-proxy or WAF rules that reject or rate-limit sequential/enumerated identifier requests to /personnel/api/employees/ and require per-request ownership validation where a gateway can apply it, recognizing that such rules are heuristic and only slow enumeration rather than eliminating it. Reduce the attack surface by auditing and minimizing low-privilege accounts (the exploit prerequisite is a valid low-tier session), rotating credentials for any accounts with API access, and monitoring REST logs for a single session enumerating employee IDs - a control that detects rather than prevents abuse. Track the VulDB entries at https://vuldb.com/vuln/416574 and https://vuldb.com/cve/CVE-2026-108797 for a future vendor fix, and treat this as a medium-severity confidentiality exposure of personnel PII rather than a path to system compromise.

Affected VersionsENISA

BioTime 9.5.6 Build 20260130.3206

Affected Packages

euvd biotime_9_5_6_build 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 flaw is an IDOR-class authorization bypass mapped to CWE-639 (Authorization Bypass Through User-Controlled Key). BioTime is ZKTeco's web-based time-and-attendance and workforce management platform, typically deployed on-premises where biometric terminals and web/REST clients synchronize personnel data; the affected component is the Employee REST API exposed at /personnel/api/employees/. Because the endpoint keys record access on a client-supplied identifier rather than verifying that the requesting principal is entitled to the referenced object, a session holding only low-tier privileges can substitute or iterate identifiers to retrieve employee records belonging to other users or departments. The authoritative assessment rates this CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N (read-only confidentiality loss, no scope change, no write or availability effect), consistent with the CVSS 4.0 base score of 5.3 whose vector also carries PR:L and VC:L with VI:N/VA:N - so this is not pre-authentication access and does not by itself enable account takeover or code execution. The CPE cpe:2.3:a:zkteco:biotime:*:*:*:*:*:*:*:* is a wildcarded version range, indicating the reporting source flags the BioTime product line generally rather than a single pinned release, though the tested build is 9.5.6 Build 20260130.3206.

Know when Biotime 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

Vendor (VulDB) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Remote API reachable with low complexity but requires a low-privilege authenticated account (PR:L); impact is limited unauthorized read of employee data, so C:L and I/A:N.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

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

DescriptionCVE.org

A vulnerability has been found in ZKTeco BioTime 9.5.6 Build 20260130.3206. This vulnerability affects unknown code of the file /personnel/api/employees/ of the component Employee REST API. The manipulation leads to authorization bypass. The attack may be initiated remotely. The vendor was contacted early about this disclosure but did not respond in any way.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
ZKTeco BioTime is a common workforce time-attendance platform, but not ubiquitous enterprise software
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 No
EPSS 0.2%
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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
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.

CVE-2023-38950 HIGH POC
7.5 Aug 03

A path traversal vulnerability in the iclock API of ZKTeco BioTime v8.5.5 allows unauthenticated attackers to read arbit

CVE-2023-38952 HIGH POC
7.5 Aug 03

Insecure access control in ZKTeco BioTime through 9.0.1 allows authenticated attackers to escalate their privileges due

CVE-2023-51142 HIGH POC
7.5 Apr 11

An issue in ZKTeco BioTime v.8.5.4 and before allows a remote attacker to obtain sensitive information. Rated high sever

CVE-2022-38803 MEDIUM POC
6.8 Nov 30

Zkteco BioTime < 8.5.3 Build:20200816.447 is vulnerable to Incorrect Access Control via Leave, overtime, Manual log. Rat

CVE-2023-51141 MEDIUM POC
6.5 Apr 11

An issue in ZKTeko BioTime v.8.5.4 and before allows a remote attacker to obtain sensitive information via the Authentic

CVE-2023-38951 CRITICAL
9.8 Aug 03

ZKTeco BioTime 8.5.5 through 9.x before 9.0.1 (20240617.19506) allows authenticated attackers to create or overwrite arb

CVE-2022-38802 MEDIUM POC
6.2 Nov 30

Zkteco BioTime < 8.5.3 Build:20200816.447 is vulnerable to Incorrect Access Control via resign, private message, manual

CVE-2024-6523 MEDIUM POC
5.3 Jul 05

A vulnerability was found in ZKTeco BioTime up to 9.5.2. Rated medium severity (CVSS 5.3), this vulnerability is remotel

CVE-2022-30515 MEDIUM POC
5.3 Nov 08

ZKTeco BioTime 8.5.4 is missing authentication on folders containing employee photos, allowing an attacker to view them

CVE-2023-38949 HIGH
7.5 Aug 03

An issue in a hidden API in ZKTeco BioTime v8.5.5 allows unauthenticated attackers to arbitrarily reset the Administrato

CVE-2026-108798 MEDIUM
6.9 Oct 12

Hard-coded cryptographic keys shipped inside ZKTeco BioTime 9.5.6 Build 20260130.3206 can be recovered by anyone with ac

CVE-2022-38801 MEDIUM
5.4 Nov 30

In Zkteco BioTime < 8.5.3 Build:20200816.447, an employee can hijack an administrator session and cookies using blind cr

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