CVE-2025-14957CVE-2025-14957是WebAssembly Binaryen项目中的一个安全漏洞,影响版本最高至125。该漏洞位于src/wasm/wasm-ir-builder.cpp文件中的IRBuilder组件,具体涉及IRBuilder::makeLocalGet、IRBuilder::makeLocalSet和IRBuilder::makeLocalTee三个函数。漏洞根源在于对Index参数的处理不当,导致空指针解引用(null pointer dereference)问题。攻击者需要本地访问权限且拥有低权限即可触发此漏洞,无需用户交互。漏洞利用代码已公开,构成了潜在的安全风险。该漏洞的CVSS评分为3.3,属于低危级别,但仍建议及时应用官方提供的修复补丁(commit: 6fb2b917a79578ab44cf3b900a6da4c27251e0d4)以消除安全风险。
该漏洞发生在WebAssembly Binaryen的IRBuilder组件中,具体位于src/wasm/wasm-ir-builder.cpp源文件。IRBuilder是用于构建WebAssembly IR(中间表示)的关键组件,负责生成各种WebAssembly指令。在处理本地变量(local variables)操作时,makeLocalGet、makeLocalSet和makeLocalTee三个函数会对传入的Index参数进行访问,但由于缺少适当的空值检查,当Index指向无效内存地址或为NULL时,程序会尝试解引用该空指针,导致程序崩溃或产生未定义行为。攻击者可以通过构造特制的WebAssembly模块文件,指定恶意的local变量索引来触发此漏洞。由于漏洞位于编译器基础设施层面,任何使用Binaryen处理不受信任WebAssembly代码的应用都可能受到影响。