CVE Catalog

CVE-2026-66922

MediumCVSS 5.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.28%

21th percentile - higher than 21% of all known CVEs

Summary

Pivotick used plain JavaScript objects as lookup tables indexed by caller-controlled node identifiers. Identifiers matching inherited properties from Object.prototype (e.g., constructor, __proto__) could be misinterpreted, leading to omitted nodes, incorrect hierarchies, bypassed cycle detection, or exceptions causing denial of service.

Risk Assessment

An attacker could compromise the integrity of graph visualizations and analytics, and cause client-side denial of service.

Recommendation

Update Pivotick to a version containing the fix, which replaces objects with Map instances and ignores invalid edges.

Other vulnerabilities in Pivotick

See all
Original NVD description (English source)

Pivotick used plain JavaScript objects as lookup tables indexed by caller-controlled graph node identifiers in its tree-layout and cycle-detection components. Node identifiers matching properties inherited from Object.prototype, such as constructor, toString, or __proto__, were not handled as ordinary identifiers. These values could be interpreted as existing inherited properties, resolve to values of an unexpected type, or—in the case of __proto__ assignments—modify the prototype of an internal lookup object. An attacker who can supply graph data containing crafted node identifiers could consequently cause nodes or edges to be silently omitted, produce incorrect hierarchy levels, bypass or corrupt cycle-detection results, or trigger an exception that interrupts graph processing and rendering. This affects the integrity of graph visualisations and analytics and may cause a client-side denial-of-service condition. The affected code also failed to safely handle edges whose source node was absent from the supplied node set. Furthermore, calculating the maximum tree depth by spreading all level values into Math.max() could exceed the JavaScript function-argument limit when processing a sufficiently large graph, resulting in an exception and denial of service. The patch replaces identifier-keyed plain objects with Map instances, ignores invalid edges during tree construction, and calculates the maximum depth iteratively.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS