Description
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**.
Metrics
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:NWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| nodejs | node | >= 20.20.1, <= 20.20.1; >= 22.22.1, <= 22.22.1; >= 24.14.0, <= 24.14.0; >= 25.8.1, <= 25.8.1; >= 4.0, < 4.*; >= 5.0, < 5.*; >= 6.0, < 6.*; >= 7.0, < 7.*; >= 8.0, < 8.*; >= 9.0, < 9.*; >= 10.0, < 10.*; >= 11.0, < 11.*; >= 12.0, < 12.*; >= 13.0, < 13.*; >= 14.0, < 14.*; >= 15.0, < 15.*; >= 16.0, < 16.*; >= 17.0, < 17.*; >= 18.0, < 18.*; >= 19.0, < 19.* |
References
Timeline
- Published
- Mar 30, 2026
- Last modified
- Aug 19, 2026
- NVD status
- Analyzed