CVE-2026-54269
Undergoing Analysis Undergoing Analysis - In Progress
Prototype Pollution in protobufjs JavaScript Library

Publication date: 2026-06-22

Last updated on: 2026-06-22

Assigner: GitHub, Inc.

Description
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 8.6.0 and 7.6.3, protobufjs accepted certain schema-derived names that could collide with properties used by protobufjs runtime helpers. The known affected names are fields named hasOwnProperty, field or oneof names such as $type when loaded through protobufjs JSON/reflection descriptors, and service methods whose generated helper name is rpcCall. When affected message or service types were used, protobufjs could read schema-controlled data where it expected an own-property helper, reflected type metadata, or the base RPC helper. This could cause deterministic exceptions or recursive calls in affected decode post-checks, verification, object conversion, reflected JSON serialization, or protobufjs RPC helper invocation. This vulnerability is fixed in 8.6.0 and 7.6.3.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-22
Last Modified
2026-06-22
Generated
2026-06-23
AI Q&A
2026-06-22
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
protobufjs protobufjs to 8.6.0 (exc)
protobufjs protobufjs to 7.6.3 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-674 The product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack.
CWE-754 The product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the product.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Impact Analysis

This vulnerability can cause protobufjs to throw exceptions or enter recursive calls, disrupting the normal operation of applications using affected protobufjs versions.

Such disruptions can lead to denial of service, where parts of the application relying on protobufjs for decoding, verification, serialization, or RPC calls may fail or become unresponsive.

The vulnerability does not allow attackers to execute arbitrary code or gain unauthorized access, but it can impact application availability and reliability.

Executive Summary

This vulnerability affects protobufjs versions 8.0.0 to 8.5.0 and 7.6.0 to 7.6.2, where certain schema-derived names can shadow important runtime properties used by protobufjs helpers.

Specifically, fields named "hasOwnProperty", fields or oneof names like "$type" when loaded via JSON/reflection descriptors, and service methods with the generated helper name "rpcCall" can cause protobufjs to mistakenly read schema-controlled data instead of its internal helpers.

This leads to deterministic exceptions or recursive calls during operations such as decode post-checks, verification, object conversion, JSON serialization, or RPC invocation.

The issue does not allow code execution but can disrupt normal functionality, causing denial of service.

Detection Guidance

This vulnerability can be detected by identifying if your system is running protobufjs versions between 7.6.0 to 7.6.2 or 8.0.0 to 8.5.0, which are affected versions.

Additionally, detection involves checking if your protobuf schemas contain fields named "hasOwnProperty", fields or oneof names like "$type" when loaded via JSON/reflection descriptors, or service methods that generate the helper name "rpcCall".

Since the vulnerability manifests as exceptions or recursive calls during decode post-checks, verification, object conversion, JSON serialization, or RPC invocation, monitoring application logs for such errors when processing protobuf messages can help detect the issue.

There are no specific commands provided in the resources, but you can use commands to check the protobufjs version in your project, for example:

  • npm list protobufjs
  • grep -rE 'hasOwnProperty|\$type|rpcCall' path/to/your/protobuf/schemas

Also, reviewing logs for errors related to decode post-checks or recursive calls in protobufjs usage may help identify exploitation attempts.

Mitigation Strategies

Immediate mitigation steps include upgrading protobufjs to version 8.6.0 or 7.6.3, where this vulnerability is fixed.

If upgrading is not immediately possible, you should avoid loading untrusted schemas that contain the problematic field or method names such as "hasOwnProperty", "$type", or "rpcCall".

Another workaround is to validate and rename any schema-derived names that could collide with protobufjs runtime helpers before loading them.

These steps help prevent the vulnerability from causing exceptions or recursive calls that disrupt functionality.

Compliance Impact

The provided information does not specify any direct impact of this vulnerability on compliance with common standards and regulations such as GDPR or HIPAA.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-54269. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart