🇰🇷 한글 설명
mcp-ffmpeg 1.0.5 이하 버전에는 OS 명령어 인젝션 취약점이 존재합니다. 공격자는 resize-video, extract-audio, get-video-info 도구에 조작된 videoPath 또는 outputDir 값을 전달해 셸 명령을 실행할 수 있습니다. 파일명이나 디렉터리명에 $(), 백틱, 닫는 큰따옴표를 포함시켜 child_process.exec 명령 문자열을 탈출하면, MCP 서버 사용자 권한으로 임의의 명령이 실행됩니다.
💡 쉬운 설명
이 프로그램은 영상 파일을 처리할 때 파일 이름을 그대로 시스템 명령어에 넣습니다. 공격자가 특수한 문자를 넣은 파일 이름을 사용하면 원하는 명령을 서버에서 몰래 실행할 수 있습니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
mcp-ffmpeg 1.0.5 이하 버전
⚔️ 공격 벡터
조작된 파일/디렉터리 이름(예: $(), 백틱, 큰따옴표 포함)을 videoPath 또는 outputDir로 전달해 셸 명령 실행
🛡️ 대응 방법
mcp-ffmpeg를 1.0.5 초과 패치 버전으로 업데이트하고, 입력값을 검증하거나 child_process.exec 대신 execFile 등 인자 배열 방식을 사용하도록 수정
🔧 검증 코드
출력된 버전이 1.0.5 이하이면 취약하므로 업데이트가 필요하며, 아무 결과도 없으면 해당 패키지가 설치되어 있지 않은 것입니다.
npm ls mcp-ffmpeg 2>/dev/null | grep -E 'mcp-ffmpeg@[0-9]+\.[0-9]+\.[0-9]+'