在我的 react-native 应用程序中,我遇到了一个关于名为 css-what 的包的严重漏洞。它显然导致了其他 4 个漏洞,因为它们直接或间接地依赖于 css-what。这是我在执行 npm audit
css-what <5.0.1
Severity: high
Denial of Service - https://npmjs.com/advisories/1754
fix available via `npm audit fix --force`
Will install react-native-svg@9.12.0, which is a breaking change
node_modules/css-what
css-select <=3.1.2
Depends on vulnerable versions of css-what
node_modules/css-select
react-native-svg >=9.13.0
Depends on vulnerable versions of css-select
node_modules/react-native-svg
@ui-kitten/components >=5.0.0-alpha.1
Depends on vulnerable versions of react-native-svg
node_modules/@ui-kitten/components
@ui-kitten/eva-icons >=5.0.0-alpha.1
Depends on vulnerable versions of react-native-svg
node_modules/@ui-kitten/eva-icons
因此,从输出中可以看出,css-what 导致包 react-native-svg
存在漏洞,并且由于我安装的设计系统 ui-kitten
依赖于 react-native-svg
,因此它随后具有漏洞。
我查看了 css-what 包以及可以看到的漏洞 here。我知道该漏洞的严重性很高,因为它可能导致拒绝服务。
我复制了我的项目,因为我知道运行 npm audit fix --force
会导致我在重复项目上运行该命令时所做的破坏性更改。该应用程序能够构建,但在模拟器上运行时抛出错误。
(请注意,我是从一个裸反应原生项目开发的)。
文档给出的说明是将 css-what 更新为 5.0.1,但我不知道如何去做。因此,我希望有人能够帮助我。
答案 0 :(得分:0)
我已经为我的 angular 项目尝试了上述方法,但它考虑了 css-what 作为 diff 依赖项,而不是 @angular-devkit/build-angular 包内的依赖项。
12.1.0-next.6
| `-- css-minimizer-webpack-plugin@3.0.1
| `-- cssnano@5.0.6
| `-- cssnano-preset-default@5.1.3
| `-- postcss-svgo@5.0.2
| `-- svgo@2.3.0
| `-- css-select@3.1.2
| `-- css-what@4.0.0
`-- css-what@5.0.1 ```
tried, see in above. its taking separate css-what thats should not be the case.
still the issue exists.
答案 1 :(得分:0)
我遇到了同样的问题,所以我执行以下操作:
我在网上查了最新版本的css,没有漏洞,安装为--save。
npm install css-what@5.0.1
然后安装 npm-force-resolutions:
npx npm-force-resolutions
添加到我的 package.json:
"resolution": {"css-what": "^ 5.0.1"}
然后像往常一样安装依赖项:
npm install
如果您收到以下错误:
npm ERR! Invalid Version: ^5.0.1
然后只需删除 package.json 中的 ^ 并重试 npm-force-resolution 并安装。
答案 2 :(得分:0)
我在更新 css 时遇到了同样的问题 - npm update css-what
对我有用
答案 3 :(得分:-1)
css-在 5.1.0 之前的版本中具有 DOS attack vulnerability。您可以在 package-lock.json 中发现这是来自 css-select 的传递依赖项。
您需要先安装您的依赖项的非易受攻击版本,所以在这种情况下
npm install --save css-what@5.0.1
完成后,您需要在 package.json 中添加解析策略。所以,只需在 package.json 的末尾添加以下键
"resolutions": { "css-what": "^5.0.1" }
此后只需运行 npm install
并运行 npm audit
以查看您的修复是否有效。您可以交叉检查您的 package-lock.json 以验证新条目。