Medium

protobufjs : Schema-derived names can shadow runtime-significant properties

  • Disclosed: 15.06.2026
  • Updated: 11.10.2026 10:22

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.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package protobufjs < 7.6.3, >= 8.0.0, < 8.6.0 7.6.3, 8.6.0
npm package protobufjs-cli >= 2.0.0, < 2.5.1, < 1.3.3 2.5.1, 1.3.3

References

CVSS score 5.3/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness (CWE)
CWE-674, CWE-754
Platform
npm
Package
protobufjs, protobufjs-cli
Disclosed
15.06.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-f38q-mgvj-vph7 - CC BY 4.0

Vulnerability history: protobufjs-cli

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

Total entries
4
First → latest
05.2026 06.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • High 3
  • Medium 1

Disclosures per year

  1. 2026: 4
  1. High · 8.2 CVE-2026-54271 < 1.3.2, >= 2.0.0, < 2.5.0 1.3.2, 2.5.0
  2. protobufjs : Schema-derived names can shadow runtime-significant properties this entry
    Medium · 5.3 CVE-2026-54269 >= 2.0.0, < 2.5.1, < 1.3.3 2.5.1, 1.3.3
  3. High · 8.7 CVE-2026-44295 < 1.2.1, >= 2.0.0, < 2.0.2 1.2.1, 2.0.2
  4. High · 7.8 CVE-2026-42290 < 1.2.1, >= 2.0.0, < 2.0.2 1.2.1, 2.0.2

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.