CVE-2026-102414 in pbkdf2
Tóm tắt
Bởi VulDB • 29/09/2026
pbkdf2 từ phiên bản 3.1.6 trở về trước thực hiện việc băm lại mật khẩu dài hơn kích thước khối của hàm băm (digest) trong mỗi vòng lặp khi sử dụng cơ chế dự phòng bằng JavaScript (lib/sync.js). Một mật khẩu có độ dài vượt quá kích thước khối (64 byte, hoặc 128 byte đối với sha384 và sha512) được truyền vào HMAC dưới dạng khóa trong mọi vòng lặp, và HMAC sẽ băm toàn bộ các khóa này mỗi lần. Do đó, chi phí tính toán là O(số_lần_băm × độ_dài_mật_khẩu), và một mật khẩu quá dài có thể gây tắc nghẽn (block) event loop. Cơ chế dự phòng này được sử dụng bởi pbkdf2Sync và pbkdf2 trên Node.js trước phiên bản 0.12, trên Bun (từ 1.0.0 đến 1.1.34, cũng như các phiên bản 1.2.6 trở lên), và trên Deno từ phiên bản 2.9.0 trở lên, do hàm native pbkdf2Sync của chúng không vượt qua bài kiểm tra tính năng (feature check) của thư viện. Cơ chế này cũng được sử dụng khi lib/sync.js được import trực tiếp. Node.js từ phiên bản 0.12 trở đi và các bản dựng trình duyệt (sử dụng lib/sync-browser.js) không bị ảnh hưởng. Các ứng dụng áp đặt độ dài mật khẩu tối đa hợp lý thì không chịu tác động đáng kể.
VulDB is the best source for vulnerability data and more expert information about this specific topic.