Description
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.6.5 and 8.6.6, protobufjs parsed option names by advancing through schema tokens until reaching an = token without checking for end of input, so a crafted .proto schema that opens an option declaration and ends prematurely can cause parse, Root.load, or Root.loadSync to loop indefinitely. This issue is fixed in versions 7.6.5 and 8.6.6.
Problem types
CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')
Product status
>= 8.0.0, < 8.6.6
References
github.com/...buf.js/security/advisories/GHSA-j3f2-48v5-ccww
github.com/protobufjs/protobuf.js/pull/2352
github.com/...ommit/10fba6d54815ceecca8a06b9a6db490c8f5d2217
github.com/...ommit/fa5c73add738ceb471e74da8cc2f3727c3d0a69f
github.com/...fjs/protobuf.js/releases/tag/protobufjs-v7.6.5
github.com/...fjs/protobuf.js/releases/tag/protobufjs-v8.6.6