Bug 1213065 (CVE-2023-36665)

Summary: VUL-0: CVE-2023-36665: nodejs-electron: protobufjs: prototype pollution using user-controlled protobuf message
Product: [openSUSE] openSUSE Tumbleweed Reporter: Carlos López <carlos.lopez>
Component: SecurityAssignee: Bruno Pitrus <brunopitrus>
Status: RESOLVED INVALID QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: security-team
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/371250/
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Carlos López 2023-07-06 08:06:00 UTC
CVE-2023-36665

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.<new-property> = ...;" whereas CVE-2022-25878 was
about "Object.__proto__.<new-property> = ...;" instead.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2023-36665
https://bugzilla.redhat.com/show_bug.cgi?id=2220812
https://www.cve.org/CVERecord?id=CVE-2023-36665
https://github.com/protobufjs/protobuf.js/commit/e66379f451b0393c27d87b37fa7d271619e16b0d
https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.3...protobufjs-v7.2.4
https://github.com/protobufjs/protobuf.js/pull/1899
https://github.com/protobufjs/protobuf.js/releases/tag/protobufjs-v7.2.4
https://www.code-intelligence.com/blog/cve-protobufjs-prototype-pollution-cve-2023-36665
Comment 1 Carlos López 2023-07-06 08:08:43 UTC
openSUSE:Factory/nodejs-electron embeds protobufjs 6.10.2
Comment 2 Bruno Pitrus 2023-07-06 11:54:49 UTC
There are no instances of the offending code in the electorn tarball.

There are two mentions of protobufjs 6.10.2 inside third_party/perfetto/{infra/perfetto.dev,ui}/package-lock.json but these directories are not used in chromium/electron.