🇰🇷 한글 설명
Serverless Framework의 실험적 기능인 MCP 서버 패키지(@serverless/mcp)에서 커맨드 인젝션 취약점이 발견되었습니다. 공격자가 검증되지 않은 입력값을 통해 임의의 시스템 명령어를 실행하여 원격 코드 실행(RCE)을 수행할 수 있습니다. 이 문제는 4.29.0 버전부터 4.29.3 미만 버전까지 영향을 미칩니다.
💡 쉬운 설명
서버리스 프레임워크의 특정 실험 기능을 사용할 때, 나쁜 명령어를 몰래 끼워 넣어 컴퓨터를 마음대로 조종할 수 있는 보안 구멍이 발견되었습니다. 이 기능을 쓰지 않는 일반 사용자에게는 안전하지만, 해당 기능을 쓰는 경우 해킹 위험이 있습니다.
🇺🇸 원문 (English)
The Serverless Framework is a framework for using AWS Lambda and other managed cloud services to build applications. Starting in version 4.29.0 and prior to version 4.29.3, a command injection vulnerability exists in the Serverless Framework's built-in MCP server package (@serverless/mcp). This vulnerability only affects users of the experimental MCP server feature (serverless mcp), which represents less than 0.1% of Serverless Framework users. The core Serverless Framework CLI and deployment functionality are not affected. The vulnerability is caused by the unsanitized use of input parameters within a call to `child_process.exec`, enabling an attacker to inject arbitrary system commands. Successful exploitation can lead to remote code execution under the server process's privileges. The server constructs and executes shell commands using unvalidated user input directly within command-line strings. This introduces the possibility of shell metacharacter injection (`|`, `>`, `&&`, etc.). Version 4.29.3 fixes the issue.
📍 영향받는 시스템
Serverless Framework version 4.29.0 to 4.29.2 (using @serverless/mcp feature)
⚔️ 공격 벡터
검증되지 않은 입력 파라미터를 child_process.exec 함수에 전달하여 쉘 메타문자를 이용한 명령어 주입
🛡️ 대응 방법
Serverless Framework를 버전 4.29.3 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 4.29.0, 4.29.1, 4.29.2 중 하나가 출력되면 취약한 버전이 설치된 것입니다.
serverless --version | grep -E '4\.(29\.[0-2])'