CVE-2025-6545: pbkdf2 returns predictable uninitialized/zero-filled memory for non-normalized or unimplemented algos
(updated )
This affects both:
- Unsupported algos (e.g.
sha3-256/sha3-512/sha512-256) - Supported but non-normalized algos (e.g.
Sha256/Sha512/SHA1/sha-1/sha-256/sha-512)
All of those work correctly in Node.js, but this polyfill silently returns highly predictable ouput
Under Node.js (only with pbkdf2/browser import, unlikely) / Bun (pbkdf2 top-level import is affected), the memory is not zero-filled but is uninitialized, as Buffer.allocUnsafe is used
Under browsers, it just returns zero-filled buffers (Which is also critical, those are completely unacceptable as kdf output and ruin security)
References
- github.com/advisories/GHSA-h7cp-r72f-jxh6
- github.com/browserify/pbkdf2
- github.com/browserify/pbkdf2/commit/9699045c37a07f8319cfb8d44e2ff4252d7a7078
- github.com/browserify/pbkdf2/commit/e3102a8cd4830a3ac85cd0dd011cc002fdde33bb
- github.com/browserify/pbkdf2/security/advisories/GHSA-h7cp-r72f-jxh6
- nvd.nist.gov/vuln/detail/CVE-2025-6545
Code Behaviors & Features
Detect and mitigate CVE-2025-6545 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →