CVE-2026-44295protobufjs-cli是protobuf.js的命令行插件。在1.2.1和2.0.2版本之前,pbjs静态代码生成功能可能输出不安全的JavaScript标识符,这些标识符源于受控的架构名称。当利用精心构造的架构或JSON描述符生成静态JavaScript代码时,由于对命名空间、枚举、服务等名称的清理不足,攻击者可将恶意代码注入到生成的输出文件中。
该漏洞源于protobufjs-cli在处理用户提供的架构文件时的输入验证缺失。具体而言,`pbjs`工具负责将Protocol Buffer架构编译为静态JavaScript模块。在受影响的版本中,工具将架构内的命名空间、枚举值、服务名等字段直接转换为JavaScript变量名或属性名,而未对这些名称进行严格的字符过滤和转义。攻击者可以利用这一点,构造包含特殊字符(如分号、括号、反引号等JavaScript语法字符)的恶意架构名称。当开发者使用受影响的`pbjs`工具处理这些恶意文件时,生成的JavaScript代码中会包含攻击者定义的恶意语法块。一旦该生成的代码被引入应用程序并执行,攻击者注入的代码即可在目标环境中运行,从而可能窃取数据或破坏系统完整性。