Skip to content

protobufjs Prototype Pollution vulnerability

Critical severity GitHub Reviewed Published Jul 5, 2023 to the GitHub Advisory Database • Updated Apr 10, 2024

Package

npm protobufjs (npm)

Affected versions

>= 6.10.0, < 6.11.4
>= 7.0.0, < 7.2.5

Patched versions

6.11.4
7.2.5

Description

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.

References

Published by the National Vulnerability Database Jul 5, 2023
Published to the GitHub Advisory Database Jul 5, 2023
Reviewed Jul 7, 2023
Last updated Apr 10, 2024

Severity

Critical
9.8
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Weaknesses

CVE ID

CVE-2023-36665

GHSA ID

GHSA-h755-8qp9-cq85

Credits

Checking history
See something to contribute? Suggest improvements for this vulnerability.