GitHub Advisoryadvisory · npm

GHSA-75px-5xx7-5xc7 protobuf.js: Code generation gadget after prototype pollution

HIGH Published 2026-05-12 Modified 2026-05-14 Official page ↗
Aliases
CVE-2026-44291
Ecosystem
npm
Packages
protobufjs
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-1321, CWE-94
Reviewed
2026-05-12

Affected packages

• npm protobufjs: < 7.5.6 → fixed in 7.5.6 • npm protobufjs: >= 8.0.0, < 8.0.2 → fixed in 8.0.2

Description

Summary protobufjs used plain objects with inherited prototypes for internal type lookup tables used by generated encode and decode functions. If `Object.prototype` had already been polluted, those lookup tables could resolve attacker-controlled inherited properties as valid protobuf type information. This could cause attacker-controlled strings to be emitted into generated JavaScript code. Impact An attacker who can first trigger a prototype pollution vulnerability may be able to influence generated protobufjs encode or decode functions in a way that can lead to arbitrary JavaScript execution. This issue requires a separate prototype pollution primitive before protobufjs is invoked. Applications without a reachable prototype pollution primitive are not directly exploitable through this issue alone. Preconditions • The application or one of its dependencies must allow an attacker to pollute `Object.prototype`. • The polluted property must affect protobufjs internal type lookup behavior. • The application must use protobufjs functionality that generates encode or decode code for affected types. • The generated code path must be reached after the prototype pollution has occurred. Workarounds Avoid running affected versions in applications where attacker-controlled input can pollute `Object.prototype`. If immediate upgrade is not possible, remove or mitigate reachable prototype pollution primitives and isolate schema/message processing from untrusted application state.

Related

Alias · CVE (1)

  • CVE-2026-44291 protobufjs compiles protobuf definitions into JavaScript (JS) functions. vulnerability

Weakness · CWE (2)

  • CWE-1321 Improperly Controlled Modification of Object Prototype Attributes weakness
  • CWE-94 Improper Control of Generation of Code weakness

References