CVE-2026-40520FreePBX api模块17.0.8及之前版本存在严重的命令注入漏洞。由于`initiateGqlAPIProcess()`函数未对GraphQL输入进行过滤,持有Bearer Token的认证攻击者可通过`moduleOperations`接口注入恶意命令,在服务器上执行任意代码。
该漏洞源于FreePBX api模块在处理GraphQL请求时的不安全编码实践。具体而言,`Api.class.php`中的`initiateGqlAPIProcess()`函数在处理`moduleOperations` mutation时,直接将用户提供的`module`字段值传递给`shell_exec()`函数执行,且未进行任何有效的消毒或转义。攻击者利用PHP语言中反引号(`)可执行系统命令的特性,只需获取一个有效的认证Bearer Token,即可构造恶意的GraphQL请求。通过在`module`参数中嵌入反引号包裹的操作系统命令(如`id`或`whoami`),攻击者能够欺骗后端服务器执行这些命令。这最终导致攻击者能够以Web服务器用户的身份在底层主机上获得远程代码执行权限,造成严重的数据泄露或系统被控风险。