如何解决React Native css-什么高危漏洞
上下文
在我的 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,但我不知道如何去做。因此,我希望有人能够帮助我。
解决方法
我已经为我的 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.
,
我遇到了同样的问题,所以我执行以下操作:
我在网上查了最新版本的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 并安装。
,我在更新 css 时遇到了同样的问题 - npm update css-what
对我有用
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 以验证新条目。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。