Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Network-accessible with zero authentication and no complexity required; impact is confidentiality-only (arbitrary file read) with no integrity or availability effect.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
2DescriptionCVE.org
A path traversal vulnerability in mustafaakin/cast-localvideo (all versions) allows an unauthenticated remote attacker to read arbitrary files from the server. The app.js handler at lines 151-153 passes the user-supplied req.body.dir parameter directly to res.sendFile() without sanitization, enabling directory traversal via absolute paths or ../ sequences to read sensitive system files.
AnalysisAI
Path traversal in mustafaakin/cast-localvideo (all versions) exposes arbitrary server files to unauthenticated remote attackers with trivial effort. The Node.js HTTP handler in app.js at lines 151-153 passes the user-supplied req.body.dir parameter directly to res.sendFile() without any path sanitization, permitting ../ sequences or absolute paths to escape the intended directory. No patch has been identified at time of analysis, no public exploit has been confirmed, and the CVSS:3.1/AV:N/AC:L/PR:N/UI:N vector means any internet-facing deployment is trivially exploitable.
Technical ContextAI
cast-localvideo is a Node.js application that serves local video content over HTTP. The vulnerability is rooted in CWE-22 (Improper Limitation of a Pathname to a Restricted Directory - Path Traversal): the Express.js res.sendFile() method in app.js lines 151-153 receives the raw req.body.dir POST parameter without normalization, allowlisting, or prefix enforcement, allowing attackers to supply values such as /etc/passwd or ../../../../etc/shadow. Node.js's res.sendFile() will faithfully resolve and serve any file the process has read permissions on. The affected CPE cpe:2.3:a:mustafaakin:cast-localvideo:*:*:*:*:*:*:*:* covers all released versions with no lower or upper bound.
RemediationAI
No vendor-released patch has been identified at time of analysis. The most effective immediate control is restricting cast-localvideo to listen only on localhost or a trusted private network interface, eliminating the network attack vector entirely without impacting local use cases. If network exposure is operationally required, place the service behind an authenticated reverse proxy (e.g., nginx with HTTP Basic Auth or mutual TLS) to enforce authentication and optionally filter traversal sequences before they reach the application - note that proxy-level filtering of path traversal is fragile and should be treated as defense-in-depth, not a primary control. As a code-level fix, the req.body.dir parameter should be validated using path.resolve() against an allowlisted base directory with a strict prefix check before being passed to res.sendFile(), or replaced with an index-based selection mechanism that never accepts raw filesystem paths from user input. Monitor https://github.com/mustafaakin/cast-localvideo for any upstream patch.
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-55235
GHSA-2cj2-3364-qxxf