CVE-2026-45740protobufjs库在处理Protobuf定义时存在安全缺陷。在7.5.8和8.2.0之前的版本中,Root.fromJSON()和Namespace.addJSON()方法缺乏递归深度限制。攻击者可利用深度嵌套的JSON描述符触发无限递归,导致JavaScript调用栈耗尽,进而引发拒绝服务,影响系统可用性。
该漏洞产生于protobufjs库在将Protobuf定义编译为JavaScript函数的过程中。具体而言,在7.5.8和8.2.0之前的版本中,Root.fromJSON()及Namespace.addJSON()方法在处理嵌套的JSON描述符时,未实施递归深度限制。攻击者可精心设计一个包含极深层级命名空间定义的恶意JSON文件。当应用程序尝试加载并解析该文件时,解析器将进入无限递归或极深递归状态,导致JavaScript调用栈迅速被填满并耗尽。这种栈溢出错误会引发应用崩溃或挂起,从而导致拒绝服务。该漏洞利用门槛低,无需认证即可通过网络触发,严重影响依赖该库的在线服务稳定性。