我刚刚使用 NestJS 启动了一个新项目,在运行 npm 审核时,我遇到了一些与
express
和 @nestjs/core
相关的中等严重程度的漏洞
漏洞是:
Express.js 在格式错误的 URL 中打开重定向 - GHSA-rv95-896h-c2vc
@nestjs/core 通过 StreamableFile 管道暴露信息 - GHSA-4jpv-8r57-pv7j
以下是
npm audit
输出的相关部分:
@nestjs/core <9.0.5
Severity: moderate
fix available via `npm audit fix --force`
Will install @nestjs/[email protected], which is a breaking change
node_modules/@nestjs/core
@nestjs/testing <=9.0.0-next.2
Depends on vulnerable versions of @nestjs/core
node_modules/@nestjs/testing
express <4.19.2
Severity: moderate
No fix available
node_modules/express
@nestjs/platform-express *
Depends on vulnerable versions of express
node_modules/@nestjs/platform-express
对于
@nestjs/core
,运行 npm audit fix --force
将安装 @nestjs/[email protected]
,从而引入潜在的重大更改。此外,似乎没有针对 Express.js 漏洞的修复方法。
如何修复这些漏洞,而不会有因强制更新而引入重大更改的风险?
有没有办法在维护当前版本的同时修补这些安全问题,或者升级是唯一的选择?
在新的开发环境下立即解决这些漏洞有多重要?
在不影响应用程序稳定性的情况下管理这些漏洞的任何帮助或建议都将非常有帮助。
overrides
字段临时覆盖嵌套依赖项(自 npm
CLI 版本 8.13.0 起可用)。一旦 NestJS 团队使用 @nestjs/platform-express
的修补版本更新 express
,请删除覆盖。
express
的修补版本:npm install [email protected]
{
"name": "my-package",
"dependencies": {
"express": "4.19.2"
},
"overrides": {
"express": "$express"
}
}
npm ci
# or `npm install` if you don't have the lockfile; consider using a lockfile