CVE-2026-41507math-codegen是一个用于从数学表达式生成代码的库。在0.4.3版本之前,该组件的cg.parse()函数存在严重的安全缺陷。当处理字符串字面量时,该函数未对输入内容进行有效的清理或过滤,直接将其注入到new Function()的函数体中执行。如果应用程序暴露了数学评估接口并将用户可控的输入传递给cg.parse(),攻击者即可构造恶意输入,利用该漏洞在服务器端执行任意系统命令,导致完全的远程代码执行风险。该问题在0.4.3版本中已得到修复。
该漏洞的根本原因在于math-codegen库的cg.parse()方法使用了不安全的动态代码生成机制。在JavaScript中,new Function()构造函数允许根据字符串动态创建函数,这类似于eval()。在该受影响版本的库中,解析器直接将用户提供的数学表达式或字符串字面量拼接到生成的函数体中,而未执行任何转义或语法验证。攻击者可以通过精心构造的数学表达式(例如注入JavaScript代码而非单纯的数学运算),绕过基本的语法检查。一旦这些恶意字符串被传入cg.parse(),它们就会被当作代码执行。由于这通常发生在服务端对用户输入进行求值的场景中,攻击者无需任何认证即可利用此漏洞。利用方式通常包括发送包含恶意代码的HTTP请求到受影响的API端点,从而在服务器上下文中执行操作系统命令,读取敏感文件或建立反向Shell。