Intel

AIKIDO-2026-26118

@noble/curves is vulnerable to Observable Timing Discrepancy

Observable Timing Discrepancy Pre-CVE
Found by Aikido Intel before public disclosure or CVE publication.
Published Aug 10, 2026

37

Low Risk

This Affects:

JS@noble/curves
0.2.0 - 2.2.0
Fixed in 2.3.0
Are you affected? Scan for Free

TL;DR

The X25519 key-agreement code performs scalar multiplication and modular arithmetic whose execution time varies with secret key material. Remote timing measurement across many samples can observe this variation and recover a few bits of a long-term private key, primarily enabling fingerprinting of a key across deployments rather than full key recovery. The Montgomery ladder and un-precomputed point multiplication previously fell back to variable-time code paths and best-effort constant-time helpers. The fix adds secret-scalar blinding via a CSPRNG, uses a constant-time fixed-window multiply, and hardens the modular arithmetic helpers.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you perform X25519 key agreement using a long-term private key whose operation timing is observable to an external party.

Background info

@noble/curves is vulnerable to Observable Timing Discrepancy in versions 0.2.0 - 2.2.0.

How to fix this

Upgrade the @noble/curves library to the patch version.