A critical (CVSS 9.8) OS command injection flaw in the zerox document-processing library lets unauthenticated attackers execute arbitrary commands by supplying a document URL with a malicious file extension.
What Is It
CVE-2026-85672 is an OS command injection vulnerability (CWE-78) in zerox 1.1.20, disclosed by VulnCheck on 2026-09-04. The flaw sits in the library's file download mechanism: the temporary file extension is derived from the supplied document URL and interpolated, unsanitized, into shell commands that zerox executes via poppler utilities.
Because the extension is attacker-controlled, a crafted document URL carrying command substitution syntax in its file extension causes arbitrary OS commands to run, and they run before any document processing occurs, so no valid document is required for exploitation.
Why It Matters
The CVSS 3.1 base score is 9.8 CRITICAL (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H); the CVSS 4.0 score from the same source is 9.3 CRITICAL. The vector is the worst combination available: network-reachable, low complexity, no privileges, and no user interaction, with high impact to confidentiality, integrity, and availability.
zerox is typically deployed as a backend component that ingests documents from user-supplied URLs; exactly the position where an attacker-controlled URL reaches the vulnerable code path without an authentication boundary in between. Successful exploitation yields command execution in the context of the processing service.
The CISA Known Exploited Vulnerabilities catalog contains no entry for this CVE, so there is no confirmation of active exploitation at this time. NVD status is "Received," meaning the record has not yet completed analysis and no CPE data is published.
What's Vulnerable
- Vendor / product: getomni-ai; zerox
- Package:
pkg:npm/zerox - Affected versions: all versions up to and including 1.1.20 (semver
<= 1.1.20); default status for other versions is unaffected - Vulnerable component: the file download mechanism in
node-zerox/src/utils/file.ts, where the URL-derived temporary file extension is passed into shell commands invoking poppler utilities
Patch Status
No fixed version, patch, or vendor advisory is identified in the supplied source material, and no CISA KEV required-action or remediation due date applies. Defenders should track the upstream issue (getomni-ai/zerox #206) and the VulnCheck advisory for fix availability. In the interim, treat any deployment of zerox ≤ 1.1.20 that accepts externally supplied document URLs as exposed.
Sources
- NVD, CVE-2026-85672: https://nvd.nist.gov/vuln/detail/CVE-2026-85672
- VulnCheck Advisory; zerox 1.1.20 OS Command Injection via Document URL File Extension: https://www.vulncheck.com/advisories/zerox-1.1.20-os-command-injection-via-document-url-file-extension
- CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- GitHub; getomni-ai/zerox: https://github.com/getomni-ai/zerox
- GitHub; Affected source (
node-zerox/src/utils/file.ts): https://github.com/getomni-ai/zerox/blob/main/node-zerox/src/utils/file.ts - GitHub; getomni-ai/zerox issue #206: https://github.com/getomni-ai/zerox/issues/206