CVE-2026-54269: protobufjs: Schema-derived names can shadow runtime-significant properties

Published Jun 15, 2026
·
Updated

Summary

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.

Impact

An attacker who can provide or influence protobuf schemas or protobufjs JSON descriptors may be able to make affected message or service types unusable, resulting in denial of service for the affected processing path.

Applications using only trusted schemas are affected only if those schemas contain one of the problematic names and the application reaches the affected API path.

The issue is not known to allow code execution by itself.

Preconditions

The application must use an affected protobufjs version. The application must load or use a schema or protobufjs JSON descriptor containing one of the problematic names: a field named hasOwnProperty, a field or oneof named $type through protobufjs JSON/reflection descriptor input, or a service method whose generated helper name is rpcCall. The application must reach the affected API path for that name: required-field decode post-checks, verify, or toObject for hasOwnProperty; reflected message JSON serialization for $type; or protobufjs RPC service invocation for rpcCall.

Workarounds

Do not load protobuf schemas or protobufjs JSON descriptors from untrusted sources with affected versions. If untrusted schemas or descriptors must be accepted, validate schema-derived field, oneof, and service method names before loading and reject the problematic names described above.

Applications using trusted schemas can avoid the issue by renaming affected fields or service methods, or by avoiding the affected API path.

Other sources

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.

MITRE

Affected Software

11 affected componentsFixes available
npm/protobufjs>=8.0.0<=8.5.0
8.6.0
npm/protobufjs-cli<=1.3.2
1.3.3
npm/protobufjs-cli>=2.0.0<=2.5.0
2.5.1
npm/protobufjs<=7.6.2
7.6.3
Protobufjs Project Protobufjs Node.js<7.6.3
Protobufjs Project Protobufjs Node.js>=8.0.0<8.6.0
Protobufjs Project Protobufjs-cli Node.js<1.3.3
Protobufjs Project Protobufjs-cli Node.js>=2.0.0<2.5.1
IBM Maximo Application Suite<=9.2
IBM Maximo Application Suite<=9.1
IBM Maximo Application Suite<=9.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/protobufjs to a version that resolves this vulnerability.

    Fixed in 8.6.0
  2. Upgrade

    Upgrade npm/protobufjs-cli to a version that resolves this vulnerability.

    Fixed in 1.3.3
  3. Upgrade

    Upgrade npm/protobufjs-cli to a version that resolves this vulnerability.

    Fixed in 2.5.1
  4. Upgrade

    Upgrade npm/protobufjs to a version that resolves this vulnerability.

    Fixed in 7.6.3
  5. Upgrade

    Upgrade protobufjs to a version that resolves this vulnerability.

    Fixed in 8.6.0
  6. Upgrade

    Upgrade protobufjs to a version that resolves this vulnerability.

    Fixed in 7.6.3
  7. Configuration

    When loading protobuf definitions or protobufjs JSON/reflection descriptors, validate and reject schema-derived names that are: (1) a field named `hasOwnProperty`, (2) a field or oneof named `$type` (from protobufjs JSON/reflection descriptor input), and (3) service methods whose generated helper name is `rpcCall`. This mitigates schema-controlled name collisions that can trigger deterministic exceptions/recursive calls in affected decode/verify/toObject/reflected JSON serialization/rpcCall paths.

    protobufjs schema/descriptor loading Schema-derived field/oneof/service method names = reject problematic names
  8. Compensating control

    Do not load or accept protobuf schemas or protobufjs JSON descriptors from untrusted sources when using affected protobufjs versions. If untrusted schemas/descriptors must be accepted, validate schema-derived field, oneof, and service method names before loading and reject the problematic names (`hasOwnProperty`, `$type` via JSON/reflection descriptor, and generated `rpcCall`).

Event History

Jun 15, 2026
Advisory Published
via GitHub·05:27 PM
Data Sourced
via GitHub·05:27 PM
DescriptionSeverityWeaknessAffected Software
Jun 22, 2026
CVE Published
via MITRE·04:23 PM
Data Sourced
via MITRE·04:23 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·06:16 PM
DescriptionSeverityWeaknessAffected Software
Aug 3, 2026
Data Sourced
via IBM·12:00 AM
DescriptionAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2026-54269?

The severity of CVE-2026-54269 is rated as medium with a score of 5.3.

2

Which software is affected by CVE-2026-54269?

CVE-2026-54269 affects the npm packages protobufjs and protobufjs-cli.

3

How do I fix CVE-2026-54269?

To fix CVE-2026-54269, ensure that you avoid using certain schema-derived names such as 'hasOwnProperty' and '$type' in your protobufjs descriptors.

4

What is the risk associated with CVE-2026-54269?

The risk associated with CVE-2026-54269 is rated as 27, indicating a level of concern that should be addressed.

5

Can CVE-2026-54269 lead to potential security issues?

Yes, CVE-2026-54269 can lead to security issues as certain names may collide with protobufjs runtime functionalities.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203