Executive brief
Zerox is an OCR and document extraction tool that processes files to extract text using vision models. A critical vulnerability in version 1.1.20 allows attackers to execute arbitrary operating system commands by crafting malicious document URLs with specially-formatted file extensions. An attacker can exploit this to gain complete control of the system running Zerox, potentially compromising sensitive documents being processed and the server itself.
Technical details
The vulnerability is an OS command injection flaw in the file download mechanism where temporary file extensions are derived from document URLs and unsanitized into shell commands executed by poppler utilities. The vulnerable component is the file handling code (file.ts) in node-zerox, which fails to sanitize the file extension before passing it to shell execution contexts. Attackers can craft document URLs containing command substitution syntax (e.g., backticks or $() expressions) in the file extension parameter, which are then interpolated directly into poppler commands. No authentication is required—any attacker with network access to the Zerox service can trigger the vulnerability by submitting a malicious document URL. The attack achieves arbitrary OS command execution with the privileges of the Zerox process. Patches are available in later versions; users should upgrade immediately.
Affected products
- Getomni Zerox 1.1.20
Timeline
- 2026-09-04: disclosed