CVE catalog

CVE-2026-21713

A flaw in Node.js HMAC verification uses a…

[CVE catalog]

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
Medium · CVSS 5.9CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Published
Source
[NVD] · [CVE record]
EPSS
0.37% · Oct 27, 2026

Projects and upstream resources

Reported versions and fixes

Each observation applies to its named package, distribution, and release. Distribution backports can fix a vulnerability while retaining an older upstream version number.

Distribution / releasePackageVersionStatusSource
Debiantrixie-securitynodejs20.19.2+dfsg-1+deb13u3Fixed[CVE-2026-21713]
Debiantrixienodejs20.19.2+dfsg-1+deb13u2FixedDistribution-reported fixed boundary[CVE-2026-21713]
Debiansidnodejs22.22.2+dfsg+~cs22.19.15-1FixedDistribution-reported fixed boundary[CVE-2026-21713]
Debiansidnodejs24.22.2+dfsg+~cs24.19.2-1Fixed[CVE-2026-21713]
Debianforkynodejs22.22.2+dfsg+~cs22.19.15-1FixedDistribution-reported fixed boundary[CVE-2026-21713]
Debianforkynodejs24.21.0+dfsg+~cs24.13.4-1Fixed[CVE-2026-21713]
Debianbookworm-securitynodejs18.20.4+dfsg-1~deb12u3Fixed[CVE-2026-21713]
Debianbookwormnodejs18.20.4+dfsg-1~deb12u2FixedDistribution-reported fixed boundary[CVE-2026-21713]

Showing 8 fix observations. All 13 observations, including unknown and conflicting reports, are available below.

Provider details and historical evidence
Distribution / releasePackageVersionStatusSource
UnknownRelease not reportednodejs18.20.4+dfsg-1~deb12u2UnknownSource applicability is not establishedProvider not reported
Alpine3.21nodejs22.22.2-r0UnknownSource applicability is not established[ALPINE-CVE-2026-21713]
Alpine3.22nodejs22.22.2-r0UnknownSource applicability is not established[ALPINE-CVE-2026-21713]
Alpine3.23nodejs24.14.1-r0UnknownSource applicability is not established[ALPINE-CVE-2026-21713]
Alpine3.24nodejs24.14.1-r0UnknownSource applicability is not established[ALPINE-CVE-2026-21713]
Debianbookwormnodejs18.20.4+dfsg-1~deb12u2FixedDistribution-reported fixed boundary[CVE-2026-21713]
Debianbookworm-securitynodejs18.20.4+dfsg-1~deb12u3Fixed[CVE-2026-21713]
Debianforkynodejs22.22.2+dfsg+~cs22.19.15-1FixedDistribution-reported fixed boundary[CVE-2026-21713]
Debianforkynodejs24.21.0+dfsg+~cs24.13.4-1Fixed[CVE-2026-21713]
Debiansidnodejs22.22.2+dfsg+~cs22.19.15-1FixedDistribution-reported fixed boundary[CVE-2026-21713]
Debiansidnodejs24.22.2+dfsg+~cs24.19.2-1Fixed[CVE-2026-21713]
Debiantrixienodejs20.19.2+dfsg-1+deb13u2FixedDistribution-reported fixed boundary[CVE-2026-21713]
Debiantrixie-securitynodejs20.19.2+dfsg-1+deb13u3Fixed[CVE-2026-21713]
Original provider fields
{
  "package_releases": [
    {
      "name": "nodejs",
      "status": "fixed",
      "release": "sid",
      "version": "24.22.2+dfsg+~cs24.19.2-1"
    },
    {
      "name": "nodejs",
      "status": "fixed",
      "release": "forky",
      "version": "24.21.0+dfsg+~cs24.13.4-1"
    },
    {
      "name": "nodejs",
      "status": "fixed",
      "release": "trixie",
      "version": "20.19.2+dfsg-1+deb13u2"
    },
    {
      "name": "nodejs",
      "status": "fixed",
      "release": "trixie-security",
      "version": "20.19.2+dfsg-1+deb13u3"
    },
    {
      "name": "nodejs",
      "status": "fixed",
      "release": "bookworm",
      "version": "18.20.4+dfsg-1~deb12u2"
    },
    {
      "name": "nodejs",
      "status": "fixed",
      "release": "bookworm-security",
      "version": "18.20.4+dfsg-1~deb12u3"
    }
  ],
  "fixed_versions": [
    {
      "bug": null,
      "name": "nodejs",
      "type": "source",
      "origin": null,
      "release": "sid",
      "urgency": "not yet assigned",
      "fixed_version": "22.22.2+dfsg+~cs22.19.15-1"
    },
    {
      "bug": null,
      "name": "nodejs",
      "type": "source",
      "origin": null,
      "release": "forky",
      "urgency": "not yet assigned",
      "fixed_version": "22.22.2+dfsg+~cs22.19.15-1"
    },
    {
      "bug": null,
      "name": "nodejs",
      "type": "source",
      "origin": null,
      "release": "trixie",
      "urgency": "not yet assigned",
      "fixed_version": "20.19.2+dfsg-1+deb13u2"
    },
    {
      "bug": null,
      "name": "nodejs",
      "type": "source",
      "origin": null,
      "release": "bookworm",
      "urgency": "not yet assigned",
      "fixed_version": "18.20.4+dfsg-1~deb12u2"
    }
  ],
  "distribution_packages": [
    {
      "name": "nodejs",
      "fixed_version": "18.20.4+dfsg-1~deb12u2",
      "applicability_unknown": true
    },
    {
      "name": "node.js",
      "ranges": [
        {
          "fixed": "",
          "introduced": "25.0.0",
          "last_affected": "25.8.1",
          "start_excluding": ""
        }
      ],
      "ecosystem": "cpe",
      "provider_url": "https://nvd.nist.gov/vuln/detail/CVE-2026-21713",
      "fixed_version": "",
      "provider_source": "nvd",
      "provider_record_id": "NVD-CVE-2026-21713",
      "provider_updated_at": "2026-08-19T13:36:43.997"
    },
    {
      "name": "nodejs",
      "distro": "alpine",
      "ranges": [
        {
          "type": "ECOSYSTEM",
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "22.22.2-r0"
            }
          ]
        }
      ],
      "release": "3.21",
      "versions": [],
      "ecosystem": "apk",
      "provider_url": "https://osv.dev/vulnerability/ALPINE-CVE-2026-21713",
      "fixed_version": "22.22.2-r0",
      "provider_source": "pypi",
      "provider_record_id": "ALPINE-CVE-2026-21713",
      "provider_updated_at": "2026-10-01T02:17:49.205733190Z",
      "applicability_unknown": true
    },
    {
      "name": "nodejs",
      "distro": "alpine",
      "ranges": [
        {
          "type": "ECOSYSTEM",
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "22.22.2-r0"
            }
          ]
        }
      ],
      "release": "3.22",
      "versions": [],
      "ecosystem": "apk",
      "provider_url": "https://osv.dev/vulnerability/ALPINE-CVE-2026-21713",
      "fixed_version": "22.22.2-r0",
      "provider_source": "pypi",
      "provider_record_id": "ALPINE-CVE-2026-21713",
      "provider_updated_at": "2026-10-01T02:17:49.205733190Z",
      "applicability_unknown": true
    },
    {
      "name": "nodejs",
      "distro": "alpine",
      "ranges": [
        {
          "type": "ECOSYSTEM",
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "24.14.1-r0"
            }
          ]
        }
      ],
      "release": "3.23",
      "versions": [],
      "ecosystem": "apk",
      "provider_url": "https://osv.dev/vulnerability/ALPINE-CVE-2026-21713",
      "fixed_version": "24.14.1-r0",
      "provider_source": "pypi",
      "provider_record_id": "ALPINE-CVE-2026-21713",
      "provider_updated_at": "2026-10-01T02:17:49.205733190Z",
      "applicability_unknown": true
    },
    {
      "name": "nodejs",
      "distro": "alpine",
      "ranges": [
        {
          "type": "ECOSYSTEM",
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "24.14.1-r0"
            }
          ]
        }
      ],
      "release": "3.24",
      "versions": [],
      "ecosystem": "apk",
      "provider_url": "https://osv.dev/vulnerability/ALPINE-CVE-2026-21713",
      "fixed_version": "24.14.1-r0",
      "provider_source": "pypi",
      "provider_record_id": "ALPINE-CVE-2026-21713",
      "provider_updated_at": "2026-10-01T02:17:49.205733190Z",
      "applicability_unknown": true
    }
  ]
}

OpenFactory catalog packages

Matching against OpenFactory catalog package versions is in progress.

[Debian 12 (Bookworm)]

  • [libnode108]Unknown

    Source package: [nodejs]

    Details (4)
    • 18.20.4+dfsg-1~deb12u2 · amd64 · bookworm

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · arm64 · bookworm

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · amd64 · bookworm-security

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · arm64 · bookworm-security

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

  • [libnode-dev]Unknown

    Source package: [nodejs]

    Details (4)
    • 18.20.4+dfsg-1~deb12u2 · amd64 · bookworm

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · arm64 · bookworm

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · amd64 · bookworm-security

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · arm64 · bookworm-security

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

  • [nodejs]Unknown
    Details (4)
    • 18.20.4+dfsg-1~deb12u2 · amd64 · bookworm

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · arm64 · bookworm

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · amd64 · bookworm-security

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · arm64 · bookworm-security

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

  • [nodejs-doc]Unknown

    Source package: [nodejs]

    Details (4)
    • 18.20.4+dfsg-1~deb12u2 · all · bookworm

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · all · bookworm

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · all · bookworm-security

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

    • 18.20.4+dfsg-1~deb12u2 · all · bookworm-security

      Fixed · Fixed: 18.20.4+dfsg-1~deb12u2

      nvd · nodejs · debian · bookworm; nvd · nodejs · debian · 12

[Debian 13 (Trixie)]

  • [libnode115]Unknown

    Source package: [nodejs]

    Details (5)
    • 20.19.2+dfsg-1+deb13u2 · amd64 · trixie

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · arm64 · trixie

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · amd64 · trixie-security · Historical version

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · arm64 · trixie-security

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u3 · amd64 · trixie-security

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

  • [libnode-dev]Unknown

    Source package: [nodejs]

    Details (5)
    • 20.19.2+dfsg-1+deb13u2 · amd64 · trixie

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · arm64 · trixie

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · amd64 · trixie-security · Historical version

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · arm64 · trixie-security

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u3 · amd64 · trixie-security

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

  • [nodejs]Unknown
    Details (5)
    • 20.19.2+dfsg-1+deb13u2 · amd64 · trixie

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · arm64 · trixie

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · amd64 · trixie-security · Historical version

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · arm64 · trixie-security

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u3 · amd64 · trixie-security

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

  • [nodejs-doc]Unknown

    Source package: [nodejs]

    Details (5)
    • 20.19.2+dfsg-1+deb13u2 · all · trixie

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · all · trixie

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · all · trixie-security

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u2 · all · trixie-security · Historical version

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

    • 20.19.2+dfsg-1+deb13u3 · all · trixie-security

      Fixed · Fixed: 20.19.2+dfsg-1+deb13u2

      nvd · nodejs · debian · 13

Observed:

References