{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-21713", "assignerOrgId": "36234546-b8fa-4601-9d6f-f4e334aa8ea1", "state": "PUBLISHED", "assignerShortName": "hackerone", "dateReserved": "2026-01-04T15:00:06.574Z", "datePublished": "2026-03-30T19:07:28.356Z", "dateUpdated": "2026-05-10T13:17:50.281Z" }, "containers": { "cna": { "descriptions": [ { "lang": "en", "value": "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.\r\n\r\nNode.js already provides timing-safe comparison primitives used elsewhere in the codebase, indicating this is an oversight rather than an intentional design decision.\r\n\r\nThis vulnerability affects **20.x, 22.x, 24.x, and 25.x**." } ], "affected": [ { "defaultStatus": "unaffected", "vendor": "nodejs", "product": "node", "versions": [ { "version": "20.20.1", "status": "affected", "lessThanOrEqual": "20.20.1", "versionType": "semver" }, { "version": "22.22.1", "status": "affected", "lessThanOrEqual": "22.22.1", "versionType": "semver" }, { "version": "24.14.0", "status": "affected", "lessThanOrEqual": "24.14.0", "versionType": "semver" }, { "version": "25.8.1", "status": "affected", "lessThanOrEqual": "25.8.1", "versionType": "semver" }, { "version": "4.0", "status": "affected", "lessThan": "4.*", "versionType": "semver" }, { "version": "5.0", "status": "affected", "lessThan": "5.*", "versionType": "semver" }, { "version": "6.0", "status": "affected", "lessThan": "6.*", "versionType": "semver" }, { "version": "7.0", "status": "affected", "lessThan": "7.*", "versionType": "semver" }, { "version": "8.0", "status": "affected", "lessThan": "8.*", "versionType": "semver" }, { "version": "9.0", "status": "affected", "lessThan": "9.*", "versionType": "semver" }, { "version": "10.0", "status": "affected", "lessThan": "10.*", "versionType": "semver" }, { "version": "11.0", "status": "affected", "lessThan": "11.*", "versionType": "semver" }, { "version": "12.0", "status": "affected", "lessThan": "12.*", "versionType": "semver" }, { "version": "13.0", "status": "affected", "lessThan": "13.*", "versionType": "semver" }, { "version": "14.0", "status": "affected", "lessThan": "14.*", "versionType": "semver" }, { "version": "15.0", "status": "affected", "lessThan": "15.*", "versionType": "semver" }, { "version": "16.0", "status": "affected", "lessThan": "16.*", "versionType": "semver" }, { "version": "17.0", "status": "affected", "lessThan": "17.*", "versionType": "semver" }, { "version": "18.0", "status": "affected", "lessThan": "18.*", "versionType": "semver" }, { "version": "19.0", "status": "affected", "lessThan": "19.*", "versionType": "semver" } ] } ], "references": [ { "url": "https://nodejs.org/en/blog/vulnerability/march-2026-security-releases" } ], "metrics": [ { "cvssV3_0": { "version": "3.0", "vectorString": "CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 5.9, "baseSeverity": "MEDIUM" } } ], "providerMetadata": { "orgId": "36234546-b8fa-4601-9d6f-f4e334aa8ea1", "shortName": "hackerone", "dateUpdated": "2026-03-30T19:07:28.356Z" } }, "adp": [ { "problemTypes": [ { "descriptions": [ { "type": "CWE", "cweId": "CWE-208", "lang": "en", "description": "CWE-208 Observable Timing Discrepancy" } ] } ], "metrics": [ { "other": { "type": "ssvc", "content": { "timestamp": "2026-03-30T19:45:13.027379Z", "id": "CVE-2026-21713", "options": [ { "Exploitation": "none" }, { "Automatable": "yes" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "version": "2.0.3" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-05-10T13:17:50.281Z" } } ] } }