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
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