# CVE-2026-59876: protobufjs prototype mutation in Text Format string map parsing

Source: https://junglewise.ai/threats/cve-2026-59876-protobufjs-prototype-pollution-in-text-format-extension  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-20. Updated: 2026-07-20  
License: CC BY 4.0 with a link back

CVE-2026-59876 · Severity: medium · CVSS 4.8 · Published 2026-07-20

A vulnerability exists in the Text Format extension of the protobufjs library, which is used to handle data serialization. An attacker can provide specially crafted input that modifies the internal structure of data objects created by the library. Depending on how an application uses this data, it could lead to unexpected behavior or security bypasses within the application's logic.

Technologies: [protobufjs (npm)](https://junglewise.ai/threats/technologies/protobufjs). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-59876 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-59876 being exploited in the wild.

**How severe is CVE-2026-59876?** Medium severity, with a CVSS score of 4.8, published 20 July 2026.

**Which products and versions are affected?** protobufjs (npm) >= 8.2.0, <= 8.6.4, SEMVER:introduced=8.2.0,fixed=8.6.5.

**Is there a fix for CVE-2026-59876?** Yes. protobufjs (npm): upgrade to 8.6.5 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-59876 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-59876?** Check whether you run protobufjs (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- protobufjs (npm): upgrade to 8.6.5 or later

  ```sh
  npm install protobufjs@8.6.5
  ```


## Technical details

The vulnerability is a prototype pollution variant (CWE-1321) specifically affecting the `protobufjs/ext/textformat` component. When parsing Text Format input, string-keyed map entries are processed using ordinary property assignment without sufficient validation. By providing a key named `__proto__`, an attacker can mutate the prototype of the specific map object being returned. This is a per-object mutation rather than global prototype pollution. Exploitation requires the application to parse untrusted Text Format input and subsequently rely on inherited properties (e.g., using `in` operators or truthiness checks) in a security-sensitive manner. The issue is fixed in version 8.6.5.

## Affected products

- protobufjs protobufjs >= 8.2.0, <= 8.6.4

## Identifiers

- CVE-2026-59876
- GHSA-jfj6-75fj-8934

## Timeline

- 2026-07-04: disclosed: Initial disclosure by reporter Faze-up
- 2026-07-04: patched: Version 8.6.5 released
- 2026-07-20: advisory: GitHub Advisory published

## References

- [https://api.github.com/users/Faze-up](https://api.github.com/users/Faze-up)
- [https://github.com/Faze-up](https://github.com/Faze-up)
- [https://api.github.com/users/Faze-up/gists%7B/gist_id%7D](https://api.github.com/users/Faze-up/gists%7B/gist_id%7D)
- [https://api.github.com/users/Faze-up/repos](https://api.github.com/users/Faze-up/repos)
- [https://avatars.githubusercontent.com/u/45031662?v=4](https://avatars.githubusercontent.com/u/45031662?v=4)
- [https://api.github.com/users/Faze-up/events%7B/privacy%7D](https://api.github.com/users/Faze-up/events%7B/privacy%7D)

## Related threats

- [protobufjs infinite loop in .proto option parsing](https://junglewise.ai/threats/cve-2026-59877-protobufjs-infinite-loop-in-proto-option-parsing)
- [protobufjs memory amplification via unknown field preservation](https://junglewise.ai/threats/cve-2026-54270-protobufjs-memory-amplification-via-unknown-field-preservation)
- [protobufjs property shadowing and uncontrolled recursion](https://junglewise.ai/threats/cve-2026-54269-protobufjs-property-shadowing-and-uncontrolled-recursion)
- [protobufjs uncontrolled recursion in JSON conversion](https://junglewise.ai/threats/cve-2026-48712-protobufjs-uncontrolled-recursion-in-json-conversion)
- [protobufjs uncontrolled recursion in JSON descriptor expansion](https://junglewise.ai/threats/cve-2026-45740-protobufjs-uncontrolled-recursion-in-json-descriptor-expansion)
