CVE-2026-129319
Received Received - Intake

ECDH Key Recovery via Invalid Curve Attack in create-ecdh

Vulnerability report for CVE-2026-129319, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-14

Last updated on: 2026-11-14

Assigner: harborist

Description

create-ecdh is a browserifiable implementation of Node.js crypto.createECDH. In versions 4.0.4 and below, the JavaScript implementation (browser.js, used by browser bundlers and on Node.js versions without a working native crypto.createECDH) did not validate peer public keys in ECDH.prototype.computeSecret or ECDH.prototype.setPublicKey. The peer point was multiplied by the local private key without checking that it was on the configured curve or in its prime-order subgroup. An attacker who can submit public keys to a party that reuses a static private key can perform an invalid-curve or small-subgroup attack and recover the private key modulo small factors, eventually recovering the full key via the Chinese Remainder Theorem. For the ed25519 and curve25519 curves, low-order points were also accepted, which could force a predictable shared secret. On modern Node.js, create-ecdh re-exports the native implementation, which is not affected. This issue is fixed in version 4.0.5.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-14
Last Modified
2026-11-14
Generated
2026-11-14
AI Q&A
2026-11-14
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
browserify createECDH From 0 (inc) to 4.0.5 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-20 The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects the create-ecdh library versions 4.0.4 and below. The issue is that the JavaScript implementation did not validate peer public keys before using them in ECDH key exchange operations. An attacker could submit invalid curve points or low-order points, allowing them to perform invalid-curve or small-subgroup attacks to recover a static private key over time.

Detection Guidance

To detect this vulnerability, check if your system uses create-ecdh version 4.0.4 or earlier. Run: npm list create-ecdh. If version is <=4.0.4, the system is vulnerable. Also inspect code for usage of createECDH().computeSecret or createECDH().setPublicKey without public key validation.

Impact Analysis

If you use create-ecdh versions 4.0.4 or earlier in a browser or Node.js environment without native crypto.createECDH support, an attacker who can submit public keys to your system could potentially recover your private key. This could lead to decryption of sensitive data or impersonation in cryptographic operations.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data, violating confidentiality requirements in GDPR and HIPAA. If private keys are compromised, it may result in data breaches, triggering mandatory breach notifications and potential fines under these regulations.

Mitigation Strategies

Immediately update create-ecdh to version 4.0.5 or later using: npm update create-ecdh. If using browserify or webpack, ensure the updated library is bundled. Review code to ensure public keys are validated before use in ECDH operations.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-129319. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...