CVE-2017-16007: Invalid Curve Attack in node-jose

node-jose Updated 02 Oct 2025

Summary

20/07/2018
Yes i
Moderate
5.9

CVE-2017-16007: Invalid Curve Attack in node-jose. Affects node-jose versions < 0.9.3. Fixed in 0.9.3. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The node-jose package is an implementation of the JSON Object Signing and Encryption (JOSE) standard for JavaScript. It provides a set of cryptographic operations for creating, signing, and verifying JSON Web Tokens (JWTs). The package is commonly used in Node.js applications to handle secure communication and authentication. However, versions of node-jose prior to 0.9.3 are vulnerable to an invalid curve attack.

Vulnerability Detail

The vulnerability in node-jose allows an attacker to recover the private secret key when using JWE with Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES). By exploiting this vulnerability, an attacker can compromise the security of the system and gain unauthorized access to sensitive information. This can lead to various consequences such as data breaches, identity theft, and unauthorized actions on behalf of legitimate users.

How To Fix

Minimum fixed version

0.9.3

This is the first release that contains the fix.

npm install node-jose@0.9.3

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

There is no known workaround for this vulnerability. It is essential to update to the patched version of node-jose to mitigate the risk.

Conclusion

The node-jose package is vulnerable to an invalid curve attack, which can lead to unauthorized access and compromise the security of the system. It is crucial for developers to update to the patched version of node-jose (0.9.3 or later) to mitigate the risk. For further support on vulnerability remediation, contact DevNack.com.

See every vulnerability recorded for node-jose →

Share this vulnerability

FAQ

node-jose is a JavaScript library that implements the JSON Object Signing and Encryption (JOSE) standard. It provides cryptographic operations for creating, signing, and verifying JSON Web Tokens (JWTs).

An invalid curve attack is a cryptographic vulnerability where an attacker can exploit weaknesses in the elliptic curve cryptography (ECC) implementation to recover private keys or perform other unauthorized actions.

This vulnerability can be exploited by an attacker who has the ability to intercept and manipulate the communication between the parties involved in the key agreement process. By exploiting the invalid curve attack, the attacker can recover the private secret key and compromise the security of the system.

The potential consequences of this vulnerability include unauthorized access to sensitive information, data breaches, identity theft, and unauthorized actions on behalf of legitimate users.

Yes, the vulnerability can be fixed by updating node-jose to version 0.9.3 or later. This update includes a patch that addresses the invalid curve attack.

Related vulnerabilities

Recent vulnerabilities recorded for node-jose.

How To Fix

Minimum fixed version

0.9.3

This is the first release that contains the fix.

npm install node-jose@0.9.3

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback