CVE-2023-36665 json
protobufjs Prototype Pollution vulnerability
published 2023-07-05 3 y ago modified 2026-08-07 3 mo ago also GHSA-h755-8qp9-cq85 , EUVD-2023-2072
- cvss
- 9.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.7%
- EPSS 1.7% chance of exploitation in 30 days, percentile 77%
- public exploits
- 0
- none known
Summary
"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.
Patch / fix
- npm protobufjs 6.11.4, 7.2.5
- protobufjs_project protobufjs 7.2.5
- github.com/protobufjs/protobuf.js@e66379f commit
- github.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.3...protobu… patch
- github.com/protobufjs/protobuf.js#1899 pull request
- github.com/protobufjs/protobuf.js/releases/tag/protobufjs-v7.2.4 release
- code-intelligence.com/blog/cve-protobufjs-prototype-pollution-cve-2023-36665 advisory
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2023-36665 updated cvss 8.6
protobufjs: prototype pollution using user-controlled protobuf message
-
Red Hat Enterprise Linux 8 grafana, grafana-loki, grafana-mssql, grafana-mysql, grafana-selinux, grafana-graphite, +8 more Red Hat Enterprise Linux 9 grafana, grafana-selinux Red Hat OpenShift Container Platform 4 openshift4/ose-consoleaffected: no fix planned “Will not fix”
-
Red Hat Ceph Storage 6 ceph, cephadm, grafana, librbd1, librgw2, rbd-nbd, +17 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
1.70% chance of exploitation in the next 30 days, higher than 77% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- code-intelligence.com https://www.code-intelligence.com/blog/cve-protobufjs-prototype-pollution-cve-2023-36665 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | protobufjs | >=7.0.0, <7.2.5 >=6.10.0, <6.11.4 |
7.2.5 6.11.4 |
Classification
- Weakness
-
- CWE-1321 Improperly Controlled Modification of Object Prototype Attributes
References
-
github.com
/protobufjs/protobuf.js/commit/e66379f451b0393c27d87b37fa7d271619e16b0d
web, patch
-
github.com
/protobufjs/protobuf.js/pull/1899
web, patch, vendor-advisory
-
github.com
/protobufjs/protobuf.js/compare/protobufjs-v7.2.3...protobufjs-v7.2.4
web, patch
-
code-intelligence.com
/blog/cve-protobufjs-prototype-pollution-cve-2023-36665
web, exploit, patch, third-party-advisory
-
github.com
/protobufjs/protobuf.js/releases/tag/protobufjs-v7.2.4
web, release-notes
- security.netapp.com /advisory/ntap-20240628-0006/
-
nvd.nist.gov
/vuln/detail/CVE-2023-36665
advisory
-
github.com
/protobufjs/protobuf.js/issues/1918#issuecomment-1723500294
web
-
github.com
/protobufjs/protobuf.js
package
-
github.com
/protobufjs/protobuf.js/commits/release-6.11.4
web
-
security.netapp.com
/advisory/ntap-20240628-0006
web
Sources
- CVE List CVE-2023-36665
- GitHub Advisory GHSA-h755-8qp9-cq85
- NVD CVE-2023-36665
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.