Skip to content

chore(deps): update dependency protobufjs to v8.6.0 [security] - autoclosed#644

Closed
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/npm-protobufjs-vulnerability
Closed

chore(deps): update dependency protobufjs to v8.6.0 [security] - autoclosed#644
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/npm-protobufjs-vulnerability

Conversation

@renovate

@renovate renovate Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
protobufjs 8.0.38.6.0 age confidence

protobufjs: Denial of Service via unbounded recursive JSON descriptor expansion

CVE-2026-45740 / GHSA-jggg-4jg4-v7c6

More information

Details

Summary

protobufjs could recurse without a depth limit while expanding nested JSON descriptors through Root.fromJSON() and Namespace.addJSON().

A crafted JSON descriptor with deeply nested namespace definitions could cause the JavaScript call stack to be exhausted during descriptor loading.

Impact

An attacker who can provide JSON descriptors loaded by an application may be able to crash the process or otherwise cause schema loading to fail with a stack overflow.

This affects applications that load JSON descriptors from untrusted sources with affected versions.

Preconditions
  • The application must load JSON descriptor data influenced by an attacker.
  • The crafted descriptor must contain deeply nested nested namespace objects.
  • The affected Root.fromJSON() / Namespace.addJSON() descriptor expansion path must process the crafted input.
Workarounds

Avoid loading untrusted protobuf JSON descriptors with affected versions. If immediate upgrade is not possible, reject excessively nested descriptor structures at an outer validation boundary where feasible, or isolate descriptor loading in a process that can be safely restarted.

Severity

  • CVSS Score: 5.3 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


protobufjs: Denial of service through unbounded Any expansion during JSON conversion

CVE-2026-48712 / GHSA-wcpc-wj8m-hjx6

More information

Details

Summary

protobufjs could recurse without a depth limit while converting decoded messages to plain objects or JSON. This affected generated toObject() conversion and the custom google.protobuf.Any JSON conversion path.

A crafted protobuf binary payload containing deeply nested Any values could cause the JavaScript call stack to be exhausted during conversion to JSON.

Impact

An attacker who can provide protobuf binary data decoded by an application may be able to crash the process or otherwise cause message conversion to fail with a stack overflow.

This affects applications that decode untrusted protobuf input containing google.protobuf.Any values and then convert decoded messages to JSON or plain objects with JSON conversion enabled, for example through JSON.stringify(message), Message#toJSON(), or Type.toObject(message, { json: true }).

Applications that only decode and re-encode protobuf binary data without converting decoded messages to JSON are not directly affected by this issue.

Preconditions
  • The application must decode protobuf binary data influenced by an attacker.
  • The application schema must include google.protobuf.Any, and the referenced type_url must resolve to a message type in the loaded protobuf root.
  • The application must convert the decoded message to JSON or a plain object through an affected conversion path.
  • The crafted input must contain deeply nested Any values that are expanded during conversion.
Workarounds

Avoid converting untrusted protobuf messages containing google.protobuf.Any values to JSON with affected versions. If immediate upgrade is not possible, reject or limit messages with deeply nested Any payloads at an outer protocol boundary where feasible, avoid JSON conversion of untrusted Any values, or isolate message conversion in a process that can be safely restarted.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


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

CVE-2026-54269 / GHSA-f38q-mgvj-vph7

More information

Details

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.

Severity

  • CVSS Score: 5.3 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

protobufjs/protobuf.js (protobufjs)

v8.6.0

Compare Source

Features
Bug Fixes

v8.5.0

Compare Source

Features
Bug Fixes

v8.4.2

Compare Source

Bug Fixes

v8.4.1

Compare Source

Bug Fixes

v8.4.0

Compare Source

Features

v8.3.0

Compare Source

Features

v8.2.1

Compare Source

Bug Fixes
Performance Improvements

v8.2.0

Compare Source

Features
Bug Fixes
Performance Improvements

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/npm-protobufjs-vulnerability branch from b5183aa to 404150d Compare June 15, 2026 19:15
@renovate renovate Bot changed the title chore(deps): update dependency protobufjs to v8.2.0 [security] chore(deps): update dependency protobufjs to v8.4.1 [security] Jun 15, 2026
@renovate renovate Bot changed the title chore(deps): update dependency protobufjs to v8.4.1 [security] chore(deps): update dependency protobufjs to v8.6.0 [security] Jun 16, 2026
@renovate renovate Bot force-pushed the renovate/npm-protobufjs-vulnerability branch from 404150d to ce91842 Compare June 16, 2026 03:43
@renovate renovate Bot changed the title chore(deps): update dependency protobufjs to v8.6.0 [security] chore(deps): update dependency protobufjs to v8.6.0 [security] - autoclosed Jun 17, 2026
@renovate renovate Bot closed this Jun 17, 2026
@renovate renovate Bot deleted the renovate/npm-protobufjs-vulnerability branch June 17, 2026 19:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants