Medium

protobufjs: Text Format string map parsing can mutate returned map object prototype

  • Disclosed: 20.07.2026
  • Updated: 11.10.2026 10:22

Summary

The protobuf.js text format extension parsed string-keyed map entries using ordinary property assignment. A text-format map entry with key __proto__ could therefore change the prototype of the returned map object instead of creating an own map entry.

This affected the optional Text Format extension. Other protobufjs input paths, including binary decode, fromObject, and ProtoJSON conversion, are not affected.

Impact

An attacker who can provide protobuf text-format input parsed by an application using protobufjs/ext/textformat may be able to create message objects whose string-keyed map fields have attacker-controlled prototypes.

This is per-object prototype mutation, not global Object.prototype pollution. Impact depends on downstream application logic treating inherited properties as meaningful, for example by using in, truthiness checks, or direct property access on parsed map objects instead of own-property checks.

Applications that do not parse untrusted Text Format input, or that do not use inherited properties from parsed map objects in security-relevant logic, are not directly affected.

Preconditions

  • The application must parse attacker-controlled protobuf Text Format input with protobufjs/ext/textformat.
  • The target schema must contain a string-keyed map field.
  • The crafted input must provide a map entry with key __proto__.
  • Downstream application logic must treat inherited properties on the returned map object as meaningful for impact beyond malformed output.

Workarounds

Upgrade to protobufjs 8.6.5 or newer.

If immediate upgrade is not possible, do not parse untrusted protobuf Text Format input with affected versions. Applications can also reject string map keys named __proto__ before or during Text Format parsing, and should use own-property checks such as Object.hasOwnProperty.call(map, key) when consuming parsed map objects.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package protobufjs >= 8.2.0, < 8.6.5 8.6.5

References

CVSS score 4.8/10
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Weakness (CWE)
CWE-1321
Platform
npm
Package
protobufjs
Disclosed
20.07.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-jfj6-75fj-8934 - CC BY 4.0

Vulnerability history: protobufjs

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (17) in the archive
Total entries
17
First → latest
10.2018 07.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • Critical 2
  • High 6
  • Medium 9

Disclosures per year

  1. 2018: 1
  2. 2019: 0
  3. 2020: 0
  4. 2021: 0
  5. 2022: 1
  6. 2023: 1
  7. 2024: 0
  8. 2025: 0
  9. 2026: 14
Severity:
  1. protobufjs: Text Format string map parsing can mutate returned map object prototype this entry
    Medium · 4.8 CVE-2026-59876 >= 8.2.0, < 8.6.5 8.6.5
  2. High · 7.5 CVE-2026-48712 < 7.6.1, >= 8.0.0, < 8.4.1 7.6.1, 8.4.1
  3. High CVE-2026-44293 < 7.5.6, >= 8.0.0, < 8.0.2 7.5.6, 8.0.2
  4. High · 8.1 CVE-2026-44291 < 7.5.6, >= 8.0.0, < 8.0.2 7.5.6, 8.0.2
  5. High · 7.5 CVE-2026-44290 < 7.5.6, >= 8.0.0, < 8.0.2 7.5.6, 8.0.2
  6. High · 7.5 CVE-2026-44289 < 7.5.6, >= 8.0.0, < 8.0.2 7.5.6, 8.0.2
  7. Critical · 9.8 CVE-2026-41242 >= 8.0.0, < 8.0.1, < 7.5.5 8.0.1, 7.5.5
  8. Critical · 9.8 CVE-2023-36665 >= 7.0.0, < 7.2.5, >= 6.10.0, < 6.11.4 7.2.5, 6.11.4
  9. High · 7.5 CVE-2022-25878 >= 6.11.0, < 6.11.3, >= 6.10.0, < 6.10.3 6.11.3, 6.10.3

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.