CVE-2020-28479: jointjs denial of service via unsetByPath

CVE-2020-28479 · Severity: low · CVSS 3.1 · Published 2021-04-13

jointjs is a JavaScript library used for creating interactive diagrams and graph visualizations. A flaw in the unsetByPath function allows an attacker to trigger a denial of service by causing the application to become unresponsive or crash, disrupting any service that depends on this library for diagram rendering or manipulation.

Technologies: jointjs (npm). Vendors: npm.

Quick answers

Is CVE-2020-28479 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2020-28479 being exploited in the wild.
How severe is CVE-2020-28479?
Low severity, with a CVSS score of 3.1, published 13 April 2021.
Which products and versions are affected?
jointjs (npm) SEMVER:introduced=0,fixed=3.3.0.
Is there a fix for CVE-2020-28479?
Yes. jointjs (npm): upgrade to 3.3.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2020-28479 attacked?
It is attacked over the network.
Am I affected by CVE-2020-28479?
Check whether you run jointjs (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • jointjs (npm): upgrade to 3.3.0 or later
    npm install jointjs@3.3.0

Technical details

The unsetByPath function in jointjs before version 3.3.0 is vulnerable to a denial of service attack due to improper input validation or resource handling (CWE-400). The vulnerability allows an attacker with network access to send a crafted request to unsetByPath that triggers excessive resource consumption or infinite loops. No authentication is required and the attack can be performed remotely over the network. The flaw has been patched in version 3.3.0 by implementing prototype modification prevention in the util.unsetByPath function.

Affected products

  • clientIO jointjs before 3.3.0

Identifiers

  • CVE-2020-28479
  • GHSA-cq8r-fc3q-6hg2

Timeline

  • 2021-01-19: disclosed
  • 2021-04-13: patched: Fixed in version 3.3.0

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.