OS Command InjectionWeakness · CWE-78

CVE-2023-3939

CRITICAL · 10.0 CVSS v3.1 Published 2024-05-21
Mitigation only
No fix yet — a mitigation exists. There is no fixed release. A documented workaround reduces exposure in the meantime.
See remediation →
100/100
Remediation priority · Urgent
Remotely reachable No privileges Zero-click

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') vulnerability in ZkTeco-based OEM devices allows OS Command Injection. Since all the found command implementations are executed from the superuser, their impact is the maximum possible. This issue affects ZkTeco-based OEM devices (ZkTeco ProFace X, Smartec ST-FR043, Smartec ST-FR041ME and possibly others) with the ZAM170-NF-1.8.25-7354-Ver1.0.0 and possibly other.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · moderate confidence

OS Command Injection vulnerability in ZkTeco-based biometric access control devices (ProFace X, ST-FR043, ST-FR041ME) where user-supplied input is not properly sanitized before being passed to system shell execution. Since all identified command implementations execute with superuser (root) privileges, an unauthenticated attacker can achieve full system compromise with maximum privilege escalation.

MitigationIsolate affected devices on a restricted network segment; contact ZkTeco/supported OEM vendors for firmware patches; if patches unavailable, consider device replacement with currently-supported models.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Identify ZkTeco biometric device models in your environment
    Inventory network for devices matching ProFace X, ST-FR043, or ST-FR041ME models. Check device web interfaces, physical labels, or network scans for these model identifiers.
    Affected if The device model is ProFace X, ST-FR043, or ST-FR041ME.
  2. Locate the device web management interface
    Access the device IP on common HTTP/HTTPS ports (typically 80, 8080, or 443). Look for ZkTeco branding or access control configuration pages.
    Affected if A ZkTeco device web interface is reachable at the target IP.
  3. Check device firmware version
    Navigate to the device web interface System Info or About page. Locate the firmware version string displayed.
    Affected if The firmware version is any version prior to vendor patch release (compare against ZkTeco security advisories).
  4. Assess network exposure of the device
    Determine if the device web interface IP is accessible from untrusted networks or the internet. Scan for open ports 80, 8080, 443 on the device.
    Affected if The device management interface is exposed to networks outside your trusted segment.
  5. Verify command execution is possible
    Test by attempting to inject shell metacharacters (e.g., |, ;, &&) into web form parameters. Observe if commands execute or return unexpected output.
    Affected if User input in web parameters is reflected in system command execution without sanitization.

You are affected if you have deployed any ProFace X, ST-FR043, or ST-FR041ME devices with their management interfaces accessible on your network, regardless of firmware version until a vendor patch is confirmed.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

From vendor data
Mitigation available No clean upgrade yet — mitigate in the meantime
Mitigation

Isolate affected devices on a restricted network segment; contact ZkTeco/supported OEM vendors for firmware patches; if patches unavailable, consider device replacement with currently-supported models.

Have this fixed Scoped from the published advisory
  • Consultation8.0 h
  • Implementation16.0 h
  • Testing8.0 h
  • Review / QA4.0 h
36.0 hours of engineering $6,400
Get help mitigating

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $10,240.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2023-3939 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2023-3939 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data