🇰🇷 한글 설명
Serverless-Devs @serverless-devs/s 3.1.11 이하 버전의 's init' 명령어가 사용자 입력을 검증 없이 child_process.spawn(shell: true)에 전달하여 OS 명령 주입 취약점이 발생합니다. 공격자가 '.git'으로 끝나는 URL을 사용하여 입력값 검증을 우회하면 임의의 시스템 명령을 실행할 수 있습니다.
💡 쉬운 설명
프로그램이 사용자가 입력한 값을 제대로 확인하지 않고 컴퓨터 명령어로 바로 실행해버리는 보안 구멍이 발견되었습니다. 공격자가 특수한 주소를 입력하면 사용자의 컴퓨터를 마음대로 조종할 수 있습니다.
🇺🇸 원문 (English)
The "s init" command in Serverless-Devs @serverless-devs/s <= 3.1.11 passes unsanitized user input to child_process.spawn() with shell: true. A URL ending in ".git" bypasses the only input check, allowing OS command injection when a user runs "s init" with an attacker-controlled argument.
📍 영향받는 시스템
Serverless-Devs @serverless-devs/s 버전 3.1.11 이하
⚔️ 공격 벡터
s init 명령 실행 시 '.git'으로 끝나는 조작된 URL 인자를 전달하여 OS 명령 주입 수행
🛡️ 대응 방법
Serverless-Devs 패키지를 최신 버전으로 업데이트하여 취약점이 해결된 버전을 사용하십시오.
🔧 검증 코드
출력된 버전 번호가 3.1.11 이하이면 취약한 상태입니다.
npm list -g @serverless-devs/s 2>/dev/null | grep -E '@serverless-devs/s@([0-9]+\.[0-9]+\.[0-9]+)'