CVE-2026-26832

Published: March 25th, 2026
node-tesseract-ocr is an npm package that provides a Node.js wrapper for Tesseract OCR. In all versions through 2.2.1, the recognize() function in src/index.js is vulnerable to OS Command Injection. The file path parameter is concatenated into a shell command string and passed to child_process.exec() without proper sanitization
CRITICAL
CVSS v3: 9.8

Status

DocFilters Release Package State Justification Comment
26.2 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
26.1 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
25.4 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
25.3 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
25.2 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
25.1 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
24.4 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
24.4.0 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
24.3 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
24.2 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
24.1 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
23.3 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
23.2 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
23.1 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
22.4 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
22.3 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
22.2 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
22.1 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
21.11 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
21.8 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
21.5.0 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
21.2.0 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.19.3667 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.18.3599 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.16.3445 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.15.3368 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.14.3263 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.13.3179 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.12.3054 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.11.3040 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.11.2990 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.10.2934 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.9.2878 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.
11.4.8.2822 tesseract (3.02.02) Not Affected Code Not Present Document Filters uses the Tesseract C++ OCR library (tesseract-ocr/tesseract), not the node-tesseract-ocr npm package. The vulnerability is in the JavaScript wrapper’s recognize() function which uses child_process.exec() without sanitization. This code does not exist in Document Filters.

Severity score breakdown

Attack Complexity
LOW
Attack Vector
NETWORK
Availability Impact
HIGH
Base Score
9.8
Base Severity
CRITICAL
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Privileges Required
NONE
Scope
UNCHANGED
User Interaction
NONE
Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Version
3.1

References