protobufjs: Schema-derived names can shadow runtime-significant properties
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.
Problem Types
| Type | CWE ID | Description |
|---|
| CWE | CWE-674 | CWE-674: Uncontrolled Recursion |
| CWE | CWE-754 | CWE-754: Improper Check for Unusual or Exceptional Conditions |
Type: CWE
Description: CWE-674: Uncontrolled Recursion
Type: CWE
Description: CWE-754: Improper Check for Unusual or Exceptional Conditions
Metrics
| Version | Base score | Base severity | Vector |
|---|
| 3.1 | 5.3 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Version: 3.1
Base score: 5.3
Base severity: MEDIUM
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L