Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Local access and low OS privileges required per description; symmetric limited C/I/A impact from path traversal with no scope change to other systems.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A security flaw has been discovered in Handwriting-OCR handwriting-ocr-mcp-server 0.1.0. Affected by this vulnerability is the function fs.readFileSync of the file src/index.ts of the component upload_document. Performing a manipulation of the argument File results in path traversal. Attacking locally is a requirement. The project was informed of the problem early through an issue report but has not responded yet.
AnalysisAI
Path traversal in handwriting-ocr-mcp-server 0.1.0 exposes arbitrary local filesystem files through the upload_document function, where a user-supplied file path is passed unsanitized to Node.js's fs.readFileSync in src/index.ts. Local attackers with low-level privileges can read, and potentially write or corrupt, files accessible to the server process. No patch is available as the vendor has not responded to the responsible disclosure filed via GitHub issue; a proof-of-concept is indicated by the CVSS 4.0 E:P supplemental metric.
Technical ContextAI
handwriting-ocr-mcp-server is a Node.js-based MCP (Model Context Protocol) server designed to process handwritten documents via optical character recognition. The vulnerability exists in src/index.ts within the upload_document component, where the user-controlled file path argument is passed directly to Node.js's built-in fs.readFileSync without path normalization or allowlist enforcement. CWE-22 (Improper Limitation of a Pathname to a Restricted Directory - Path Traversal) describes this root cause class: the code fails to neutralize relative path elements such as '../' that allow traversal outside the intended working directory. The CPE string cpe:2.3:a:handwriting-ocr:handwriting-ocr-mcp-server:*:*:*:*:*:*:*:* covers the affected release, and version 0.1.0 is the only confirmed version reported by VulDB.
RemediationAI
No vendor-released patch has been identified at time of analysis; the project maintainer has not responded to the responsible disclosure submitted via GitHub issue at https://github.com/Handwriting-OCR/handwriting-ocr-mcp-server/issues/6. As an immediate compensating control, restrict local system access to the host running handwriting-ocr-mcp-server to only fully trusted users, directly reducing the pool of actors who can satisfy the PR:L prerequisite. Operators capable of modifying the source should apply a source-level fix in src/index.ts by resolving the user-supplied path with Node.js's path.resolve and verifying the resolved absolute path begins with the intended base directory before passing it to fs.readFileSync - this eliminates the traversal vector with no functional side effects for valid inputs. Monitor the GitHub repository and issue tracker for any upstream patch release before deploying a fixed version.
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-54959
GHSA-pxv6-pv74-gcg3