Pivotick - Stack Exhaustion Denial of Service via Deep or Cyclic Graph Data
Pivotick contains an uncontrolled-recursion vulnerability when processing caller-supplied graph and node data. The affected graph algorithms recursively traversed graph edges, while the JSON viewer recursively processed each level of a node’s data structure. A specially crafted graph containing an excessively long path, deeply nested properties, or circular object references could therefore exhaust the JavaScript call stack when Pivotick calculates a layout or displays a node in the inspection modal.
Successful exploitation may cause an uncaught exception, freeze the affected page, or crash the browser tab, resulting in a client-side denial of service. No confidentiality or integrity impact has been identified.
The patch replaces the recursive graph traversals with iterative stack-based implementations and limits the reachability calculation to 1,000,000 edge traversals. It also limits JSON rendering to 64 levels and detects circular references before descending further into an object.
Problem Types
| Type | CWE ID | Description |
|---|
| CWE | CWE-674 | CWE-674 Uncontrolled Recursion |
| CWE | CWE-400 | CWE-400 Uncontrolled Resource Consumption |
Type: CWE
Description: CWE-674 Uncontrolled Recursion
Type: CWE
Description: CWE-400 Uncontrolled Resource Consumption
Metrics
| Version | Base score | Base severity | Vector |
|---|
| 4.0 | 8.2 | HIGH | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H |
Version: 4.0
Base score: 8.2
Base severity: HIGH
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H
Impacts
| CAPEC ID | Description |
|---|
| CAPEC-231 | CAPEC-231 Oversized Serialized Data Payloads |
Description: CAPEC-231 Oversized Serialized Data Payloads