CVE-2026-102414
Received Received - Intake

Denial of Service in pbkdf2 Password Hashing

Vulnerability report for CVE-2026-102414, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-29

Last updated on: 2026-09-29

Assigner: harborist

Description

pbkdf2 through 3.1.6 re-hashes passwords longer than the digest's block size on every iteration in its JavaScript fallback (lib/sync.js). A password longer than the block size (64 bytes, or 128 bytes for sha384 and sha512) is passed to HMAC as the key on every iteration, and HMAC hashes such keys in full each time. Cost is therefore O(iterations Γ— password length), and a long password can block the event loop. The fallback is used by pbkdf2Sync and pbkdf2 on Node.js before 0.12, on Bun (1.0.0 through 1.1.34, and 1.2.6 and later), and on Deno 2.9.0 and later, because their native pbkdf2Sync fails the library's feature check. It is also used when lib/sync.js is imported directly. Node.js 0.12 and later, and browser builds (which use lib/sync-browser.js), are not affected. Applications that enforce a reasonable maximum password length are not meaningfully affected.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-29
Last Modified
2026-09-29
Generated
2026-09-29
AI Q&A
2026-09-29
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 6 associated CPEs
Vendor Product Version / Range
browserify pbkdf2 From 1.0.0 (inc) to 1.1.34 (inc)
browserify pbkdf2 From 1.2.6 (inc)
browserify pbkdf2 to 2.9.0 (inc)
browserify pbkdf2 to 3.1.6 (inc)
browserify pbkdf2 From 3.1.7 (inc)
browserify pbkdf2 From 3.1.7 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-400 The product does not properly control the allocation and maintenance of a limited resource.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability involves the pbkdf2 library versions 3.1.6 and below. When a password longer than the digest's block size (64 bytes for SHA-256, 128 bytes for SHA-384/SHA-512) is used, the library re-hashes the entire password during every iteration of the PBKDF2 key derivation process. This leads to excessive computational overhead, making the operation O(iterations Γ— password length) instead of the expected O(iterations + password length). The issue affects Node.js before 0.12, Bun, Deno, and direct imports of the sync module.

Detection Guidance

To detect this vulnerability, check if your system uses vulnerable versions of the pbkdf2 library (3.1.6 or below). Run commands like 'npm list pbkdf2' or 'npm audit' to identify installed versions. If using Node.js, Bun, or Deno with affected versions, the vulnerability may be present.

Impact Analysis

The primary impact is a denial-of-service (DoS) condition where long passwords cause significant delays or block the event loop. This can freeze applications using the vulnerable library versions. Systems with native pbkdf2 implementations or those enforcing reasonable password length limits are not affected. The vulnerability has low severity due to high attack complexity but can still disrupt service if exploited.

Compliance Impact

This vulnerability primarily causes a denial-of-service condition by consuming excessive CPU resources when processing long passwords, which could impact system availability. For compliance standards like GDPR or HIPAA that require data protection and system reliability, this could lead to violations if systems become unresponsive or fail to process authentication requests in a timely manner due to resource exhaustion.

Mitigation Strategies

Upgrade the pbkdf2 library to version 3.1.7 or later using 'npm update pbkdf2'. If using Node.js 0.12+, Bun, or Deno, ensure native pbkdf2Sync is used instead of the JavaScript fallback. Enforce maximum password length limits in applications to prevent long password attacks.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-102414. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart