Every CVE Search/ Get API key

CVE-2023-36665

protobufjs Prototype Pollution vulnerability

9.8 CriticalFix available

"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

1.70%Up 1.7 points since Jul 6, 2023
90%50%10%1%

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 CriticalCVSS: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 CriticalCVSS: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 CriticalCVSS: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

Affected packages
PackageAffectedFixed
protobufjs
npm
6.10.0 up to 6.11.4
6.11.4
protobufjs
npm
7.0.0 up to 7.2.5
7.2.5
protobufjs
TuxCare: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
protobufjs
TuxCare: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
protobufjs
Root: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/protobufjs
Root: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

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE 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

Show 6 moreShow less
MoveEnter Open