🇰🇷 한글 설명
Cockpit CMS 2.14.0 및 이전 버전의 FFmpeg 통합 기능에서 명령 주입 취약점이 발견되었습니다. assets/upload 권한을 가진 인증된 사용자가 쉘 메타문자가 포함된 파일명을 가진 비디오 파일을 업로드하여 웹 서버 권한으로 임의의 명령을 실행할 수 있습니다.
💡 쉬운 설명
파일 이름을 올바르게 검사하지 않아 발생하는 보안 문제입니다. 파일 이름에 특수 기호를 섞어 올리면 서버가 이를 명령어로 착각하여 해커가 원하는 동작을 수행하게 됩니다.
🇺🇸 원문 (English)
Cockpit CMS 2.14.0 and prior contains a command injection vulnerability in the FFmpeg integration that allows authenticated users with only the assets/upload permission to execute arbitrary commands by uploading a video file with a shell metacharacter-laden filename. The unsanitized filename is interpolated into a shell command executed via Process::fromShellCommandline() before the slugify() sanitizer runs, enabling injected shell metacharacters such as backticks, $(), and semicolons to escape the FFmpeg command context and execute as the web-server user.
📍 영향받는 시스템
Cockpit CMS 2.14.0 및 그 이전 버전
⚔️ 공격 벡터
특수 문자가 포함된 파일명을 가진 비디오 파일을 업로드하여 서버 명령 실행
🛡️ 대응 방법
최신 보안 패치가 적용된 버전으로 업데이트하거나 파일명 검증 로직을 수정해야 합니다.
🔧 검증 코드
출력된 버전 번호가 2.14.0 이하인지 확인하여 취약 여부를 판단합니다.
npm list cockpit-cms --depth=0 | grep -E 'cockpit-cms@([0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2})'