protobufjs Prototype Pollution vulnerability
Published 5 Jul 2023 · Updated 7 Aug 2026
Affected packages
- Affected
- >=7.0.0 <7.2.5
- Fixed in
- 7.2.5
npm install protobufjs@7.2.5- Affected
- >=6.10.0 <6.11.4
- Fixed in
- 6.11.4
npm install protobufjs@6.11.4Details
protobuf.js (aka protobufjs) 6.10.0 until 6.11.4 and 7.0.0 until 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.
Is GHSA-h755-8qp9-cq85 in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected protobufjs, and gives you the command that fixes it.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2023-36665
- Linkgithub.com/protobufjs/protobuf.js/issues/1918#issuecomment-1723500294
- Linkgithub.com/protobufjs/protobuf.js/pull/1899
- Linkgithub.com/protobufjs/protobuf.js/commit/e66379f451b0393c27d87b37fa7d271619e16b0d
- Packagegithub.com/protobufjs/protobuf.js
- Linkgithub.com/protobufjs/protobuf.js/commits/release-6.11.4
- Linkgithub.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.3...protobufjs-v7.2.4
- Linkgithub.com/protobufjs/protobuf.js/releases/tag/protobufjs-v7.2.4
- Linksecurity.netapp.com/advisory/ntap-20240628-0006
- Linkwww.code-intelligence.com/blog/cve-protobufjs-prototype-pollution-cve-2023-36665
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.