CVE-2026-44294protobufjs在7.5.6和8.0.2之前的版本存在安全漏洞。由于在生成JavaScript属性访问器时未对架构控制的字段名中的控制字符进行转义,攻击者可构造特制的schema或JSON描述符,导致生成的编码、解码、验证或转换函数在编译期间失败。
该漏洞源于protobufjs在将protobuf定义编译为JavaScript函数时,未能正确处理输入schema中的字段名和oneof名称。当字段名包含特定的控制字符(如换行符、空字符等)时,这些字符未被转义就直接嵌入到了生成的函数体内。如果攻击者上传或提供一个包含恶意控制字符的protobuf schema或JSON描述符,protobufjs在尝试生成对应的encode、decode、verify或conversion函数时,会解析无效的JavaScript代码语法,导致编译过程抛出异常或失败。这主要影响了依赖protobufjs动态解析不可信schema的应用场景,可能被利用来进行拒绝服务攻击。