在 SPX-GC 1.3.0 及以下版本中,用户可控的输入被传递到 child_process 模块的 exec 函数而未经过任何清理,导致未经验证的盲目远程代码执行。
在 /routes/routes-api.js 中,从 file 参数接收到的用户输入被传递到 child_process 的 exec 函数,导致未经验证的盲目 RCE。
Web 应用程序中的盲目远程代码执行(RCE)是指攻击者能够在服务器上执行任意代码,而无法立即获得反馈或直接知晓执行结果。此漏洞通常源于不当的用户输入处理,并可通过命令执行等机制加以利用。 参考:
SPX-GC <= 1.3.0v
已在提交 31c96893a193428a3a11499ed0e165125f9bbe23 中修复。 该变更已添加至 master 分支,因此从该分支进行的新构建和安装不再存在漏洞。该修复尚未以 GitHub 发布版本的形式公开。
CVE-2024-44623
盲目远程代码执行
在 routes/routes-api.js 文件中的 require('child_process').exec('open "' + folder + '"'); 函数使用了用户输入。
当存在漏洞的 SPX-GC 工具正在运行时,未经身份验证的用户可以执行 Shell 命令。
存在漏洞的代码:routes/routes-api.js#L37-L39