CVE-2026-21713
Published: March 26, 2026Last modified: March 28, 2026
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**.
Severity score breakdown
| Parameter | Value |
|---|---|
| Base score | 5.9 |
| Attack Vector | NETWORK |
| Attack complexity | HIGH |
| Privileges required | NONE |
| User interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality | HIGH |
| Integrity impact | NONE |
| Availability impact | NONE |
| Vector | CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
Status
| Product | Release | Package | Status |
|---|---|---|---|
| Alpaquita Linux | 23 LTS | nodejs | Fixed (20.20.2-r0) |
| 25 LTS | nodejs | Fixed (22.22.2-r0) | |
| Stream | nodejs | Fixed (24.14.1-r0) | |
| Hardened Containers | 23 LTS | nodejs | Fixed (20.20.2-r0) |
| 25 LTS | nodejs | Fixed (22.22.2-r0) | |
| Stream | nodejs | Fixed (24.14.1-r0) |