🇰🇷 한글 설명
electerm의 npm/install.js 파일의 runMac() 함수가 원격 releaseInfo.name을 검증 없이 exec() 명령에 직접 삽입하여 명령 주입 취약점이 발생합니다. 공격자는 조작된 패키지 이름을 통해 임의의 시스템 명령을 실행할 수 있으며, 3.3.8 버전에서 패치되었습니다.
💡 쉬운 설명
electerm 프로그램이 인터넷에서 받은 파일 이름을 검증하지 않고 바로 실행해서, 악의적인 이름으로 다른 명령을 강제 실행할 수 있습니다. 해커가 이를 이용해 파일 삭제나 악성 프로그램 설치가 가능합니다.
🇺🇸 원문 (English)
electerm is an open-sourced terminal/ssh/sftp/telnet/serialport/RDP/VNC/Spice/ftp client. Prior to version 3.3.8, a command injection vulnerability exists in github.com/elcterm/electerm/npm/install.js:150. The runMac() function appends attacker-controlled remote releaseInfo.name directly into an exec("open ...") command without validation. This issue has been patched in version 3.3.8.
📍 영향받는 시스템
electerm < 3.3.8 (특히 macOS에서의 npm 설치 과정)
⚔️ 공격 벡터
조작된 릴리스 정보 이름(예: '; rm -rf / #)을 포함한 패키지를 배포하여 npm install 시 명령 실행
🛡️ 대응 방법
electerm을 3.3.8 이상 버전으로 즉시 업그레이드
🔧 검증 코드
명령어 결과에 electerm 버전이 3.3.8 미만으로 표시되면 취약함. 버전이 3.3.8 이상이거나 결과 없으면 안전
npm list electerm 2>/dev/null | grep -E 'electerm@[0-3]\.[0-3]\.[0-7]($|\s)'