Description
node-jose is a JavaScript implementation of the JSON Object Signing and Encryption (JOSE) for web browsers and node.js-based servers. Prior to version 2.2.0, when using the non-default "fallback" crypto back-end, ECC operations in `node-jose` can trigger a Denial-of-Service (DoS) condition, due to a possible infinite loop in an internal calculation. For some ECC operations, this condition is triggered randomly; for others, it can be triggered by malicious input. The issue has been patched in version 2.2.0. Since this issue is only present in the "fallback" crypto implementation, it can be avoided by ensuring that either WebCrypto or the Node `crypto` module is available in the JS environment where `node-jose` is being run.
Remediation
References
https://github.com/cisco/node-jose/commit/901d91508a70e3b9bdfc45688ea07bb4e1b8210d
https://github.com/cisco/node-jose/security/advisories/GHSA-5h4j-qrvg-9xhw
Related Vulnerabilities
CVE-2020-36184 Vulnerability in maven package com.fasterxml.jackson.core:jackson-databind
CVE-2020-25689 Vulnerability in maven package org.wildfly.core:wildfly-protocol
CVE-2018-1000822 Vulnerability in maven package org.codelibs.fess:fess
CVE-2020-36319 Vulnerability in maven package com.vaadin:flow-server
CVE-2020-7793 Vulnerability in maven package org.webjars.bowergithub.faisalman:ua-parser-js