CVE-2023-36665
protobufjs Prototype Pollution vulnerability
"protobuf.js (aka protobufjs) 6.10.0 through 7.x before 7.2.5 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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
"protobuf.js (aka protobufjs) 6.10.0 through 7.x before 7.2.5 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.
- Record
CVE-2023-36665- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-1321
- Updated
- 2026-11-02
CVE List No score
"protobuf.js (aka protobufjs) 6.10.0 through 7.x before 7.2.5 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.
- Record
CVE-2023-36665- Updated
- 2026-11-02
EUVDEUVD-2023-2072 No score
"protobuf.js (aka protobufjs) 6.10.0 through 7.x before 7.2.5 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.
- Record
EUVD-2023-2072- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-h755-8qp9-cq85
9.8
protobufjs Prototype Pollution vulnerability
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.
- Record
GHSA-h755-8qp9-cq85- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-1321
- Updated
- 2026-11-02
OSVGHSA-h755-8qp9-cq85
9.8
protobufjs Prototype Pollution vulnerability
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.
- Record
GHSA-h755-8qp9-cq85- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-1321
- Updated
- 2026-11-02
OSVCLSA-2026-1784164061 No score
TuxCare security update for protobufjs (4 CVEs)
TuxCare rebuilt protobufjs to address 4 CVEs. Fixed in 6.10.2-tuxcare.1.
- Record
CLSA-2026-1784164061- Updated
- 2026-11-02
OSVCLSA-2026-1792184156 No score
TuxCare security update for protobufjs (8 CVEs)
TuxCare rebuilt protobufjs to address 8 CVEs. Fixed in 6.11.3-tuxcare.2.
- Record
CLSA-2026-1792184156- Updated
- 2026-11-02
OSV No score
"protobuf.js (aka protobufjs) 6.10.0 through 7.x before 7.2.5 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.
- Record
CVE-2023-36665- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2023-36665 No score
CVE-2023-36665 in protobufjs - Patched by Root
Root has patched CVE-2023-36665 in the protobufjs package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2023-36665- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
protobufjsnpm |
6.10.0 up to 6.11.4 | 6.11.4 |
protobufjsnpm |
7.0.0 up to 7.2.5 | 7.2.5 |
protobufjsTuxCare:npm From an advisory covering 4 CVEs |
6.10.2-tuxcare.0 up to 6.10.2-tuxcare.1, plus listed versions 6.10.2 |
6.10.2-tuxcare.1 |
protobufjsTuxCare:npm From an advisory covering 8 CVEs |
6.11.3-tuxcare.0 up to 6.11.3-tuxcare.2, plus listed versions 6.11.36.11.3-tuxcare.1 |
6.11.3-tuxcare.2 |
protobufjsRoot:npm |
before 6.11.2-aikido.1 | 6.11.2-aikido.17.2.0-aikido.17.2.0-aikido.27.2.0-aikido.36.11.4-aikido.26.11.4-aikido.36.11.4-aikido.46.11.4-aikido.5 |
@rootio/protobufjsRoot:npm |
before 6.11.2-root.io.1 | 6.11.2-root.io.17.2.0-root.io.17.2.0-root.io.27.2.0-root.io.36.11.4-root.io.16.11.4-root.io.26.11.4-root.io.36.11.4-root.io.46.11.4-root.io.5 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-36665 is a critical vulnerability (CVSS 9.8) in Protobufjs Project Protobufjs, published July 5, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.70%, the 77th percentile. Fixed in protobufjs 6.11.4.
References
github.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.3...protobufjs-v7.2.4
github.com/protobufjs/protobuf.js/commit/e66379f451b0393c27d87b37fa7d271619e16b0d
code-intelligence.com/blog/cve-protobufjs-prototype-pollution-cve-2023-36665
github.com/protobufjs/protobuf.js/releases/tag/protobufjs-v7.2.4
github.com/protobufjs/protobuf.js/pull/1899
security.netapp.com/advisory/ntap-20240628-0006