CVE-2026-26833thumbler是一个用于生成缩略图的npm包。在1.1.2及之前的版本中,该组件存在严重的操作系统命令注入漏洞。漏洞原因在于`thumbnail()`函数未对用户提供的`input`、`output`、`time`或`size`参数进行适当的清理或转义,直接将其拼接到Shell命令字符串中,并传递给`child_process.exec()`执行。攻击者无需用户交互或身份认证即可利用此漏洞,导致在目标服务器上执行任意操作系统命令,完全控制系统的机密性、完整性和可用性。
该漏洞源于Node.js中不安全的命令拼接。thumbler库在处理缩略图生成任务时,调用了Node.js的`child_process.exec()`函数。该函数会启动一个系统Shell(如/bin/sh或cmd.exe)来执行传入的命令字符串。由于代码逻辑缺陷,开发者直接将外部传入的参数(如文件路径input/output、时间参数time、尺寸参数size)拼接到命令字符串中,而没有使用参数化执行或严格的输入验证(如白名单过滤字符)。
攻击者可以通过构造恶意的参数值(例如包含反引号、分号、管道符或`$(cmd)`等Shell元字符)来截断或追加原有的命令结构。当恶意输入被拼接到`child_process.exec()`中时,Shell会将其解析为独立的指令执行。由于CVSS向量显示无需认证(PR:N)且可远程利用(AV:N),攻击者可以通过向暴露的API接口发送特制的HTTP请求来触发此漏洞。成功利用后,攻击者将获得运行thumbler服务的用户权限,进而读取敏感文件、安装后门、破坏数据或进一步横向移动。