PT-2026-102444 · Npm+3 · Pbkdf2+3

·

CVE-2026-102414

·

Published

2026-09-29

·

Updated

2026-09-29

CVSS v4.0

6.3

Medium

VectorAV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Name of the Vulnerable Software and Affected Versions pbkdf2 versions prior to 3.1.7
Description The JavaScript fallback in lib/sync.js re-hashes passwords that exceed the digest's block size (64 bytes, or 128 bytes for sha384 and sha512) during every iteration. This occurs because the password is passed to HMAC as the key on each iteration, and HMAC hashes such keys in full every time. This results in a computational cost of O(iterations × password length), which can lead to the event loop being blocked when processing long passwords. This fallback is triggered by pbkdf2Sync() and pbkdf2() on Bun versions 1.0.0 through 1.1.34 and 1.2.6 and later, Deno 2.9.0 and later, and Node.js versions prior to 0.12, as well as when lib/sync.js is imported directly.
Recommendations Update to a version later than 3.1.6. Enforce a reasonable maximum password length to mitigate the risk of event loop blocking.

Exploit

Fix

DoS

Resource Exhaustion

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-102414
GHSA-477H-4R7F-FVRX

Affected Products

Bun
Deno
Node.Js
Pbkdf2