CVE-2025-69256CVE-2025-69256是Serverless Framework中一个严重的命令注入漏洞。该漏洞存在于Serverless Framework内置的MCP服务器包(@serverless/mcp)中,影响版本4.29.0至4.29.2。漏洞源于在调用child_process.exec时未对输入参数进行消毒处理,导致攻击者可以通过注入任意系统命令来实现远程代码执行。值得注意的是,此漏洞仅影响使用实验性MCP服务器功能(serverless mcp)的用户,这一功能的使用者不足Serverless Framework总用户的0.1%。核心的Serverless Framework CLI和部署功能不受影响。成功利用此漏洞的攻击者可以在服务器进程的权限下执行任意代码,对系统安全造成严重威胁。
该漏洞的根本原因在于@serverless/mcp包中的代码直接使用用户输入构造shell命令字符串,并将其传递给child_process.exec执行。具体来说,代码在构建命令行时未对用户提供的参数进行任何验证或转义处理,这使得攻击者可以注入shell元字符(如|,>,&&等)来执行任意系统命令。在list-projects.js等文件中,代码直接将输入参数拼接到命令字符串中,没有进行输入清理或参数化处理。这种不安全的实现方式使得攻击者可以通过构造特殊的输入来绕过命令边界,执行超出预期的系统命令。由于child_process.exec会通过shell解释执行字符串,所有注入的shell命令都将被成功执行。