🇰🇷 한글 설명
Termix는 SSH 터미널, 터널링, 파일 편집 기능을 제공하는 웹 기반 서버 관리 플랫폼으로, 2.1.0 이전 버전에서 Docker 컨테이너 관리 엔드포인트의 containerId 매개변수가 검증 없이 셸 명령어로 직접 실행되는 커맨드 인젝션 취약점이 존재합니다. 인증된 공격자는 악의적인 컨테이너 ID를 주입하여 원격 관리 서버에서 임의의 OS 명령어를 실행할 수 있습니다.
💡 쉬운 설명
Termix 웹 도구에서 컨테이너 ID 입력값을 검증 없이 서버 명령어로 직접 처리하므로, 로그인한 사용자가 서버에서 원하는 모든 명령어를 실행할 수 있습니다. 2.1.0 버전 이상으로 업그레이드하면 이 문제가 해결됩니다.
🇺🇸 원문 (English)
Termix is a web-based server management platform with SSH terminal, tunneling, and file editing capabilities. Prior to version 2.1.0, all Docker container management endpoints in Termix interpolate the containerId URL path parameter and WebSocket message field directly into shell commands executed via ssh2.Client.exec() on remote managed servers without any sanitization or validation. An authenticated attacker can inject arbitrary OS commands by crafting a malicious container ID, achieving Remote Code Execution on any managed server. This issue has been patched in version 2.1.0.
📍 영향받는 시스템
Termix < 2.1.0
⚔️ 공격 벡터
인증된 사용자가 Docker 컨테이너 관리 API 또는 WebSocket 메시지에 OS 명령어 코드를 포함시킨 containerId 주입
🛡️ 대응 방법
Termix를 버전 2.1.0 이상으로 즉시 업그레이드
🔧 검증 코드
Termix 버전이 2.1.0 이상이면 안전하고, 2.1.0 미만이거나 설치되지 않았으면 취약합니다.
npm list -g termix 2>/dev/null | grep termix || which termix && termix --version 2>/dev/null | grep -E '[0-9]+\.[0-9]+\.[0-9]+'