{"id":"CVE-2017-16007","aliases":["EUVD-2018-0319","GHSA-rvj9-8cvx-3vq9"],"status":"published","title":"Invalid Curve Attack in node-jose","description":"node-jose is a JavaScript implementation of the JSON Object Signing and Encryption (JOSE) for current web browsers and node.js-based servers. node-jose earlier than version 0.9.3 is vulnerable to an invalid curve attack. This allows an attacker to recover the private secret key when JWE with Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) is used.","severity":{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.00913,"percentile":0.60325,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-200"],"published":"2018-06-04T19:00:00Z","modified":"2026-10-20T10:48:16Z","fixes":[{"ecosystem":"npm","package":"node-jose","fixed_in":["0.9.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"node-jose","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.3"}]}]},{"source":"osv","ecosystem":"npm","package":"node-jose","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.9.3"}]}]}],"products":[{"vendor":"cisco","product":"node-jose"},{"vendor":"hackerone","product":"node-jose node module"}],"references":[{"url":"https://gist.github.com/asanso/fa25685348051ef6a28d49aa0f27a4ae","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nodesecurity.io/advisories/324","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory"]},{"url":"http://blog.intothesymmetry.com/2017/03/critical-vulnerability-in-json-web.html","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence","web"]},{"url":"https://github.com/cisco/node-jose","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","package"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-16007","tags":["advisory"]},{"url":"https://github.com/cisco/node-jose/pull/88","tags":["web"]},{"url":"https://github.com/cisco/node-jose/commit/f92cffb4a0398b4b1158be98423369233282e0af","tags":["web"]},{"url":"https://github.com/cisco/node-jose/compare/0.9.2...0.9.3","tags":["web"]},{"url":"https://github.com/advisories/GHSA-rvj9-8cvx-3vq9"}],"sources":{"cve":[{"id":"CVE-2017-16007","description":"node-jose is a JavaScript implementation of the JSON Object Signing and Encryption (JOSE) for current web browsers and node.js-based servers. node-jose earlier than version 0.9.3 is vulnerable to an invalid curve attack. This allows an attacker to recover the private secret key when JWE with Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) is used.","status":"published","published":"2018-06-04T19:00:00Z","modified":"2024-09-16T18:23:49.49Z","cwes":["CWE-200"],"updated_at":"2026-11-02T14:33:21.142987Z"}],"euvd":[{"id":"EUVD-2018-0319","description":"node-jose is a JavaScript implementation of the JSON Object Signing and Encryption (JOSE) for current web browsers and node.js-based servers. node-jose earlier than version 0.9.3 is vulnerable to an invalid curve attack. This allows an attacker to recover the private secret key when JWE with Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) is used.","status":"published","published":"2018-06-04T19:00:00Z","modified":"2024-09-16T18:23:49Z","updated_at":"2026-11-03T00:55:32.945265Z"}],"ghsa":[{"id":"GHSA-rvj9-8cvx-3vq9","title":"Invalid Curve Attack in node-jose","description":"Affected versions of `node-jose` are vulnerable to an invalid curve attack. This allows an attacker to recover the private secret key when JWE with Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) is used.\n\n[Proof of Concept](https://gist.github.com/asanso/fa25685348051ef6a28d49aa0f27a4ae)\n\n\n## Recommendation\n\nUpdate to version 0.9.3 or later.","status":"published","published":"2018-07-20T21:10:14Z","modified":"2023-09-06T23:38:58Z","cvss":[{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T14:37:02.632342Z"}],"nvd":[{"id":"CVE-2017-16007","description":"node-jose is a JavaScript implementation of the JSON Object Signing and Encryption (JOSE) for current web browsers and node.js-based servers. node-jose earlier than version 0.9.3 is vulnerable to an invalid curve attack. This allows an attacker to recover the private secret key when JWE with Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) is used.","status":"published","published":"2018-06-04T19:29:00.617Z","modified":"2026-06-17T01:08:38.037Z","cvss":[{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T14:04:17.638656Z"}],"osv":[{"id":"CVE-2017-16007","description":"node-jose is a JavaScript implementation of the JSON Object Signing and Encryption (JOSE) for current web browsers and node.js-based servers. node-jose earlier than version 0.9.3 is vulnerable to an invalid curve attack. This allows an attacker to recover the private secret key when JWE with Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) is used.","status":"published","published":"2018-06-04T19:29:00.617Z","modified":"2026-10-20T10:48:16.129334195Z","cvss":[{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:04.853379Z"},{"id":"GHSA-rvj9-8cvx-3vq9","title":"Invalid Curve Attack in node-jose","description":"Affected versions of `node-jose` are vulnerable to an invalid curve attack. This allows an attacker to recover the private secret key when JWE with Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) is used.\n\n[Proof of Concept](https://gist.github.com/asanso/fa25685348051ef6a28d49aa0f27a4ae)\n\n\n## Recommendation\n\nUpdate to version 0.9.3 or later.","status":"published","published":"2018-07-20T21:10:14Z","modified":"2023-11-08T03:58:59.406151Z","cvss":[{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T15:46:56.281047Z"}]}}
