Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。Node.js 由 Node.js Foundation(已与 JS Foundation 合并为 OpenJS Foundation)持有和维护,亦为 Linux 基金会的项目。Node.js 采用 Google 开发的 V8 运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于资料密集的即时应用程序。
Node.js v20.3.1 现已发布,本次更新内容如下:
Notable Changes
此版本中修复了以下 CVE:
- CVE-2023-30581:
mainModule.__proto__
绕过实验性策略机制(高) - CVE-2023-30584:实验权限模型中的路径遍历旁路(高)
- CVE-2023-30587:通过 Node.js Inspector 绕过实验权限模型(高)
- CVE-2023-30582:不适当的权限模型允许未经授权的文件监视(中)
- CVE-2023-30583:通过 fs.openAsBlob() 绕过实验权限模型(中)
- CVE-2023-30585:在 Node.js 安装程序修复过程中通过 Malicious Registry Key 操作进行特权升级(中)
- CVE-2023-30586:通过任意 OpenSSL 引擎绕过实验许可模型(中)
- CVE-2023-30588:由于 x509 证书中的无效公钥信息导致进程中断(中)
- CVE-2023-30589:通过 CR 分隔的 Empty headers 进行 HTTP Request Smuggling(中)
- CVE-2023-30590:DiffieHellman 在设置私钥后不生成密钥(中)
- OpenSSL 安全发布
- OpenSSL 安全公告 3 月 28 日。
- OpenSSL 安全公告 4 月 20 日。
- OpenSSL 安全公告 5 月 30 日
Commits
- [
dac08dafc9
] - crypto:优雅地处理无效 SPKI 的证书 nodejs-private/node-private#393 - [
d274c3babc
] - crypto,https,tls:启用 perms 后禁用引擎 nodejs-private/node-private#409 - [
5621c1de38
] - deps:更新 openssl-3.0.9-quic1 的 archs 文件 #48402 - [
771caa9f1c
] - deps:将 openssl sources 升级到 quictls/openssl-3.0.9-quic1 #48402 - [
0459bf9c99
] - doc,test:阐明 DH generateKeys 的行为 nodejs-private/node-private#426 - [
9c17e335f1
] - msi:不创建 AppData\Roaming\npm nodejs-private/node-private#408 - [
b51124c637
] - permission:处理 fs 路径遍历 nodejs-private/node-private#403 - [
ebc5927adc
] - permission:处理 fs.openAsBlob nodejs-private/node-private#405 - [
c39a43bff5
] - permission:处理 fs.watchFile nodejs-private/node-private#404 - [
d0a8264ec9
] - policy:处理 mainModule.__proto__ 绕过 nodejs-private/node-private#416 - [
3df13d5a79
] - src,permission:启用 pm 时限制检查器 nodejs-private/node-private#410
更多详情可查看:https://nodejs.org/en/blog/release/v20.3.1