CVE-2023-36665: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
(updated )
protobuf.js (aka protobufjs) 6.10.0 through 7.x before 7.2.4 allows Prototype Pollution, a different vulnerability than CVE-2022-25878. A user-controlled protobuf message can be used by an attacker to pollute the prototype of Object.prototype by adding and overwriting its data and functions. Exploitation can involve: (1) using the function parse to parse protobuf messages on the fly, (2) loading .proto files by using load/loadSync functions, or (3) providing untrusted input to the functions ReflectionObject.setParsedOption and util.setProperty. NOTE: this CVE Record is about “Object.constructor.prototype. = …;” whereas CVE-2022-25878 was about “Object.proto. = …;” instead.
References
- github.com/protobufjs/protobuf.js/commit/e66379f451b0393c27d87b37fa7d271619e16b0d
- github.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.3...protobufjs-v7.2.4
- github.com/protobufjs/protobuf.js/pull/1899
- github.com/protobufjs/protobuf.js/releases/tag/protobufjs-v7.2.4
- nvd.nist.gov/vuln/detail/CVE-2023-36665
- www.code-intelligence.com/blog/cve-protobufjs-prototype-pollution-cve-2023-36665
Detect and mitigate CVE-2023-36665 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →