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-only path traversal requiring low-privilege access with no scope change and uniformly low CIA impact matches the provided CVSS 4.0 assessment.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability has been found in Jane-xiaoer skill-vision-control up to 1.3.0. This vulnerability affects the function getSkillVersionsDir of the file src/svc/utils/config.ts. Such manipulation of the argument skillName leads to path traversal. The attack can only be performed from a local environment. The project was informed of the problem early through an issue report but has not responded yet.
AnalysisAI
Path traversal in Jane-xiaoer skill-vision-control 1.3.0 and earlier allows locally authenticated low-privileged users to escape the intended skill versions directory by supplying crafted skillName input to the getSkillVersionsDir function in src/svc/utils/config.ts, enabling unauthorized read and write access to arbitrary local files within the application process's reach. A proof-of-concept exploit exists (CVSS 4.0 supplemental metric E:P), modestly elevating urgency despite the otherwise constrained attack surface. No patch has been released - the vendor has not responded to the disclosure filed via GitHub issue tracker.
Technical ContextAI
The vulnerability resides in the TypeScript function getSkillVersionsDir located at src/svc/utils/config.ts within skill-vision-control (CPE: cpe:2.3:a:jane-xiaoer:skill-vision-control:*:*:*:*:*:*:*:*), all versions through 1.3.0. The function constructs a filesystem path using a caller-supplied skillName parameter without canonicalization, boundary enforcement, or rejection of traversal sequences such as ../ or encoded equivalents. This is a canonical CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) failure: user-controlled input flows directly into a filesystem operation without being constrained to an expected base path. The application appears to be a TypeScript service for managing versioned skill artifacts locally.
RemediationAI
No vendor-released patch has been identified at time of analysis - the project maintainer has not responded to the vulnerability report filed at https://github.com/Jane-xiaoer/skill-vision-control/issues/2. As the primary compensating control, implement strict input validation in the getSkillVersionsDir function to reject any skillName value containing traversal sequences (../, ..\, URL-encoded variants such as %2e%2e%2f), normalizing the resolved path and confirming it falls within the expected base directory before use. Additionally, restrict local system access so that only trusted, authorized accounts can invoke the affected code path - reducing the pool of potential attackers addresses the PR:L prerequisite. Process-level sandboxing via OS controls (chroot jails, AppArmor profiles, or seccomp filters) can limit filesystem exposure even if traversal succeeds, though this adds operational complexity. Monitor the upstream repository at https://github.com/Jane-xiaoer/skill-vision-control/ for a patched release.
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-54885
GHSA-j882-vpg7-hqjh