# CVE-2026-44291: protobufjs code injection via prototype pollution in lookup tables

Source: https://junglewise.ai/threats/cve-2026-44291-protobuf-js-code-injection-via-prototype-pollution-gadget  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-05-13. Updated: 2026-05-14  
License: CC BY 4.0 with a link back

CVE-2026-44291 · Severity: high · CVSS 8.1 · Published 2026-05-13

protobufjs is a popular library used to handle data serialization in JavaScript applications. A vulnerability exists where the library can be tricked into executing malicious code if an attacker has already compromised the application's environment through a separate 'prototype pollution' flaw. This could allow an attacker to take full control of the application, potentially leading to data theft or service disruption.

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

## Quick answers

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

**How severe is CVE-2026-44291?** High severity, with a CVSS score of 8.1, published 13 May 2026.

**Which products and versions are affected?** protobufjs (npm) SEMVER:introduced=0,fixed=7.5.6.

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

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

**Am I affected by CVE-2026-44291?** 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 7.5.6 or later

  ```sh
  npm install protobufjs@7.5.6
  ```


## Technical details

A code injection vulnerability (CWE-94) exists in protobufjs due to the use of plain objects with inherited prototypes for internal type lookup tables. When the library generates JavaScript functions for encoding or decoding protobuf definitions, it references these lookup tables. If an attacker has already successfully performed a prototype pollution attack on the global Object.prototype, they can inject malicious strings into these tables. These strings are then emitted directly into the generated JavaScript code, leading to arbitrary code execution. Exploitation requires a pre-existing prototype pollution primitive in the application or its dependencies. The issue is resolved in versions 7.5.6 and 8.0.2.

## Affected products

- protobufjs protobufjs <= 7.5.5, >= 8.0.0, <= 8.0.1

## Identifiers

- CVE-2026-44291
- GHSA-75px-5xx7-5xc7

## Timeline

- 2026-05-12: advisory: GitHub Security Advisory published by maintainers.
- 2026-05-13: disclosed: NVD publication date.
- 2026-05-13: patched: Fixes released in versions 7.5.6 and 8.0.2.

## References

- [https://github.com/protobufjs/protobuf.js/security/advisories/GHSA-75px-5xx7-5xc7](https://github.com/protobufjs/protobuf.js/security/advisories/GHSA-75px-5xx7-5xc7)

## Related threats

- [protobufjs prototype mutation in Text Format string map parsing](https://junglewise.ai/threats/cve-2026-59876-protobufjs-prototype-pollution-in-text-format-extension)
- [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)
