Node.js HMAC Timing Oracle Exploit (CVE-2026-21713)
CVE-2026-21713 Published on March 30, 2026
A flaw in Node.js HMAC verification uses a non-constant-time comparison when validating user-provided signatures, potentially leaking timing information proportional to the number of matching bytes. Under certain threat models where high-resolution timing measurements are possible, this behavior could be exploited as a timing oracle to infer HMAC values. Node.js already provides timing-safe comparison primitives used elsewhere in the codebase, indicating this is an oversight rather than an intentional design decision. This vulnerability affects **20.x, 22.x, 24.x, and 25.x**.
Affected Versions
nodejs node:- Version 20.20.1, <= 20.20.1 is affected.
- Version 22.22.1, <= 22.22.1 is affected.
- Version 24.14.0, <= 24.14.0 is affected.
- Version 25.8.1, <= 25.8.1 is affected.
- Version 4.0 and below 4.* is affected.
- Version 5.0 and below 5.* is affected.
- Version 6.0 and below 6.* is affected.
- Version 7.0 and below 7.* is affected.
- Version 8.0 and below 8.* is affected.
- Version 9.0 and below 9.* is affected.
- Version 10.0 and below 10.* is affected.
- Version 11.0 and below 11.* is affected.
- Version 12.0 and below 12.* is affected.
- Version 13.0 and below 13.* is affected.
- Version 14.0 and below 14.* is affected.
- Version 15.0 and below 15.* is affected.
- Version 16.0 and below 16.* is affected.
- Version 17.0 and below 17.* is affected.
- Version 18.0 and below 18.* is affected.
- Version 19.0 and below 19.* is affected.
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.