{"id":"CVE-2026-117568","kind":"vulnerability","aliases":["CVE-2026-117568"],"related":[],"title":"mcp-ffmpeg: crafted file paths let attackers run shell commands","description":"mcp-ffmpeg through 1.0.5 contains an OS command injection vulnerability that allows attackers to run shell commands by supplying crafted videoPath or outputDir values to the resize-video, extract-audio and get-video-info tools. Attackers can embed $(), backticks or a closing double quote in an existing file or directory name to break out of the child_process.exec command string and execute commands as the MCP server user.","summary":"mcp-ffmpeg through 1.0.5 passes videoPath and outputDir values into a shell command string via child_process.exec in the resize-video, extract-audio and get-video-info tools. An attacker who controls a file or directory name can embed $(), backticks or a double quote to run commands as the MCP server user.","severity":"high","cvss":7.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-tooling","ffmpeg","mcp","node","self-hosted"],"not_affected_if":["fixed-paths-only","mcp-ffmpeg-not-installed"],"how_to_check":"- Check the installed mcp-ffmpeg version, for example with `npm ls mcp-ffmpeg`, and see whether it is `1.0.5` or earlier.\n- Look for the mcp-ffmpeg server in your MCP client configuration and confirm which tools it exposes.","fix":"- Upgrade mcp-ffmpeg to a version later than `1.0.5`; the sources do not name the fixed release, so check the package registry.\n- Until patched, stop exposing the resize-video, extract-audio and get-video-info tools to untrusted input and avoid running the server on directories that untrusted users can name.","status":"open","published_at":"2026-10-27T14:16:39+00:00","first_seen_at":"2026-10-27T14:32:19+00:00","triaged_at":"2026-10-27T14:32:57+00:00","updated_at":"2026-10-27T14:32:57+00:00","category":"ai-tooling","confidence":0.7,"triage":{"at":"2026-10-27T14:32:57Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade mcp-ffmpeg to a version later than `1.0.5`; the sources do not name the fixed release, so check the package registry.\n- Until patched, stop exposing the resize-video, extract-audio and get-video-info tools to untrusted input and avoid running the server on directories that untrusted users can name.","reach":"unknown","title":"mcp-ffmpeg: crafted file paths let attackers run shell commands","impact":"high","summary":"mcp-ffmpeg through 1.0.5 passes videoPath and outputDir values into a shell command string via child_process.exec in the resize-video, extract-audio and get-video-info tools. An attacker who controls a file or directory name can embed $(), backticks or a double quote to run commands as the MCP server user.","category":"ai-tooling","nicknames":[],"who_cares":["mcp","ffmpeg","node","self-hosted"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Commands run as the MCP server user on the host","analyst_note":"Confirm the fixed version and whether the MCP tools are reachable remotely; check the NVD entry and the mcp-ffmpeg repository for a patch.","how_to_check":"- Check the installed mcp-ffmpeg version, for example with `npm ls mcp-ffmpeg`, and see whether it is `1.0.5` or earlier.\n- Look for the mcp-ffmpeg server in your MCP client configuration and confirm which tools it exposes.","needs_analyst":true,"not_affected_if":["fixed-paths-only","mcp-ffmpeg-not-installed"],"who_is_affected":"Teams that run the mcp-ffmpeg MCP server, especially where an AI agent or user supplies video paths or output directories that could contain attacker-chosen file or directory names. Systems that do not use mcp-ffmpeg, or that only process trusted, fixed paths, are less exposed.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000685,"input_tokens":3359,"output_tokens":699,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-117568':14A,17A '-2026':13A,16A '1.0.5':31B,86C 'ai':19B 'ai-tool':18B 'allow':94C 'attack':8A,59B,95C,121C 'audio':51B,114C 'backtick':69B,124C 'break':138C 'child_process.exec':43B,142C 'close':127C 'command':11A,40B,76B,90C,99C,143C,147C 'contain':87C 'control':61B 'craft':4A,102C 'cve':12A,15A 'directori':65B,135C 'doubl':72B,128C 'emb':68B,123C 'execut':146C 'exist':132C 'extract':50B,113C 'extract-audio':49B,112C 'ffmpeg':3A,21B,29B,84C 'file':5A,63B,133C 'get':54B,117C 'get-video-info':53B,116C 'host':26B 'info':56B,119C 'inject':91C 'let':7A 'mcp':2A,22B,28B,79B,83C,150C 'mcp-ffmpeg':1A,27B,82C 'name':66B,136C 'node':23B 'os':89C 'outputdir':35B,105C 'pass':32B 'path':6A 'quot':73B,129C 'resiz':47B,110C 'resize-video':46B,109C 'run':9A,75B,97C 'self':25B 'self-host':24B 'server':80B,151C 'shell':10A,39B,98C 'string':41B,144C 'suppli':101C 'tool':20B,57B,120C 'user':81B,152C 'valu':36B,106C 'via':42B 'video':48B,55B,111C,118C 'videopath':33B,103C 'vulner':92C","nicknames":[],"mitigations":[],"who_affected":"Teams that run the mcp-ffmpeg MCP server, especially where an AI agent or user supplies video paths or output directories that could contain attacker-chosen file or directory names. Systems that do not use mcp-ffmpeg, or that only process trusted, fixed paths, are less exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-27T14:16:39+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/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","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-117568","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-117568","severity":null,"published_at":"2026-10-27T14:16:39+00:00","modified_at":"2026-10-27T14:16:39+00:00","first_seen_at":"2026-10-27T14:32:19+00:00","fetched_at":"2026-10-27T14:32:19+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}