zebbernCVE/CVE-2026-26833

GitHub: zebbernCVE/CVE-2026-26833

记录 thumbler npm 包中严重命令注入漏洞(CVE-2026-26833)的安全公告,包含漏洞详情、PoC 代码和缓解建议。

Stars: 0 | Forks: 0

# CVE-2026-26833:thumbler 中的 OS 命令注入 ## 摘要 `thumbler` 到 `1.1.2` 版本允许在 `lib/thumbler.js` 中的 `thumbnail()` 进行 OS 命令注入。该包将 `input`、`output`、`time` 和 `size` 的值拼接成一个单独的 `ffmpeg` 命令字符串,并使用 `child_process.exec()` 执行该字符串。 控制其中一个值的攻击者可以注入 shell 语法 并运行任意命令。 ## 受影响产品 | 产品 | 受影响版本 | 修复版本 | | --- | --- | --- | | thumbler | 1.1.2 及之前所有版本 | 截至 2026-03-24 尚无可用修复 | ## 漏洞详情 - CVE ID:`CVE-2026-26833` - CWE:`CWE-78` - OS Command Injection (OS 命令注入) - CVSS 3.1:`9.8` (`Critical` - 严重) - 向量:`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H` - 受影响组件:`lib/thumbler.js`,`thumbnail()` 易受攻击的代码路径构造了如下 shell 字符串: ``` exec( 'ffmpeg -ss ' + time + ' -i "' + input + '" -vframes 1 -s ' + size + ' "' + output + '"', ... ); ``` 由于命令是作为字符串组装的,因此每个攻击者控制的 字段都是一个潜在的注入点。 ## 技术影响 任何从用户控制的媒体生成缩略图的服务都可能 在调用 `thumbnail()` 时最终在主机上执行命令。 ## 概念验证 ``` require("thumbler").thumbnail( 'test.mp4"; id > /tmp/pwned; echo "', "/tmp/out.jpg", {}, () => {} ); ``` ## 缓解措施 截至本文撰写之时,尚无可用的 npm 修复版本。 如果您仍然依赖此包: 1. 请勿将不受信任的数据传递给 `thumbnail()`。 2. 将 shell 字符串拼接替换为参数安全的进程 执行方式。 3. 迁移到维护中的缩略图生成库或已修复的分支。 ## 参考资料 - https://www.npmjs.com/package/thumbler - https://github.com/mmahrous/thumbler - https://github.com/mmahrous/thumbler/blob/master/lib/thumbler.js
标签:Child Process, CVE-2026-26833, CWE-78, FFmpeg, GNU通用公共许可证, MITM代理, Node.js, NPM包, OSV-Scalibr, OS命令注入, RCE, Shell注入, Thumbler, 任意命令执行, 安全公告, 文档安全, 暗色界面, 编程工具, 视频处理, 视频缩略图, 软件开发工具包, 输入验证缺失, 远程代码执行, 高危漏洞