| 漏洞类型 | 使用不兼容类型访问资源(类型混淆) | 发现时间 | 2026-03-30 | 漏洞等级 | 严重 |
| MPS编号 | MPS-th3l-nwyq | CVE编号 | CVE-2026-33937 | 漏洞影响广度 | 一般 |
漏洞危害
| OSCS 描述 |
| Handlebars 是一个流行的 JavaScript 语义化模板引擎,用于构建动态网页和 Node.js 应用。 受影响版本中,Handlebars.compile() 函数除接受字符串模板外,还接受预解析的 AST 对象作为输入。编译器在将 AST 转换为可执行 JavaScript 函数时,未对 NumberLiteral 节点的 value 字段进行类型校验,直接将该字段内容拼接进生成的 JavaScript 代码字符串。攻击者可构造包含任意字符串(而非数字)的 value 字段,使生成代码中嵌入恶意逻辑,从而在服务端触发任意 JavaScript 代码执行(RCE)。 修复版本中通过在 lib/handlebars/compiler/base.js 新增 validateInputAst() 函数,在编译前对所有 AST 节点字段进行递归类型校验,要求 NumberLiteral.value 必须为有限数字、PathExpression.parts 仅含字符串、BooleanLiteral.value 必须为布尔值,对不合法输入直接抛出异常,从根本上切断注入路径。 参考链接:https://www.oscs1024.com/hd/MPS-th3l-nwyq |
影响范围及处置方案
OSCS 平台影响范围和处置方案
| 影响范围 | 处置方式 | 处置方法 |
| handlebars [4.0.0,4.7.9) | 升级 | 将组件 handlebars 升级至 4.7.9 及以上版本 |
| 参考链接:https://www.oscs1024.com/hd/MPS-th3l-nwyq | ||
排查方式
| 方式1:使用漏洞检测CLI工具来排查使用文档:https://www.murphysec.com/docs/faqs/integration/cli.html |
| 方式2:使用漏洞检测IDEA插件排查使用文档:https://www.murphysec.com/docs/faqs/integration/jetbrains-ide-plugin.html |
| 方式3:接入GitLab进行漏洞检测排查使用文档:https://www.murphysec.com/docs/faqs/integration/gitlab.html |
| 更多排查方式:https://www.murphysec.com/docs/faqs/integration/ |
本文参考链接
https://www.oscs1024.com/hd/MPS-th3l-nwyq
https://nvd.nist.gov/vuln/detail/CVE-2026-33937
https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-2w6w-674q-4c4q
https://github.com/handlebars-lang/handlebars.js/commit/68d8df5a88e0a26fe9e6084c5c6aaebe67b07da2
https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.9