The package protobufjs before 6.11.3 and 6.10.3 is vulnerable to Prototype Pollution, which can allow an attacker to add/modify properties of the Object.prototype.
This vulnerability can occur in multiple ways:
- by providing untrusted user input to util.setProperty or to ReflectionObject.setParsedOption functions
- by parsing/loading .proto files
References
- https://nvd.nist.gov/vuln/detail/CVE-2022-25878
- https://github.com/protobufjs/protobuf.js/pull/1731
- https://github.com/protobufjs/protobuf.js/commit/b5f1391dff5515894830a6570e6d73f5511b2e8f
- https://github.com/protobufjs/protobuf.js/blob/d13d5d5688052e366aa2e9169f50dfca376b32cf/src/util.js%23L176-L197
- https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-2841507
- https://snyk.io/vuln/SNYK-JS-PROTOBUFJS-2441248
- https://github.com/protobufjs/protobuf.js/pull/1735
- https://github.com/advisories/GHSA-g954-5hwp-pp24