CVE-2026-34371LibreChat在0.8.4版本之前存在路径遍历漏洞,导致任意文件写入。在使用默认本地文件策略的部署中,系统盲目信任`execute_code`沙箱返回的文件名,未进行有效清理。攻击者可构造包含遍历序列(如../)的恶意文件名,利用`fs.writeFileSync`在服务器端任意位置写入文件,可能实现远程代码执行或接管服务器。
该漏洞源于LibreChat在处理`execute_code`沙箱生成文件时的逻辑缺陷,属于典型的不安全输入验证问题。具体而言,应用直接信任沙箱环境返回的`name`字段,并将其未经验证地拼接到服务器端的目标保存路径中,随后调用Node.js的`fs.writeFileSync`函数进行文件写入。由于系统未对文件名中的特殊字符(特别是路径遍历序列如`../`)进行过滤或规范化处理,攻击者可以构造恶意的文件名(例如`../../../../../app/client/dist/poc.js`)来覆盖或创建服务器上的任意文件。结合低权限用户即可触发代码执行的条件,攻击者能够利用此漏洞写入Webshell或恶意JavaScript文件,进而获取服务器控制权。