GitHub Advisoryadvisory · npm
GHSA-75px-5xx7-5xc7 protobuf.js: Code generation gadget after prototype pollution
HIGH
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
References
- https://github.com/protobufjs/protobuf.js/security/advisories/GHSA-75px-5xx7-5xc7 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-44291 advisory
- https://github.com/protobufjs/protobuf.js package
- https://github.com/protobufjs/protobuf.js/releases/tag/protobufjs-v7.5.6 web
- https://github.com/protobufjs/protobuf.js/releases/tag/protobufjs-v8.0.2 web