关键信息 漏洞描述 漏洞名称: pbkdf2 silently returns predictable uninitialized/zero-filled memory for non-normalized or unimplemented algorithm strings (even if supported by Node.js) CVE ID: CVE-2023-4545 CVSS 评分: 9.1/10 (Critical) 影响范围 受影响版本: >=3.0.10 =3.1.3 漏洞细节 问题类型: - 不支持的算法(如 、 、 ) - 支持但未标准化的算法(如 、 、 、 、 、 ) 影响平台: - Node.js: 返回可预测的输出,内存未初始化或未分配。 - 浏览器: 返回零填充的缓冲区。 影响 关键性: 在Node.js环境中,可能会生成零填充的密钥,而不是正确的密钥。 环境: - 受影响的包包括 、 、 等。 - Webpack打包的代码也会受到影响。 - Node.js和Bun环境下也受影响。 PoC (概念验证) 提供了测试不同算法字符串的示例代码,展示了返回的可预测输出和未初始化内存。 建议措施 更新到修复版本。 如果使用的是不受影响的算法字符串,则无需更新。 对于Node.js用户,建议避免在所有地方使用 ,并改用 和现代/审计过的密码学原语。