拒绝服务--http代理--React。

问题描述 投票:12回答:1

我很确定这个错误是今天才出现的,之前从来没有出现过,当我新建一个react应用时,过程中发现了1个高漏洞。

高: 拒绝服务

包。 http-proxy

补丁中。 没有补丁

的依赖性。 react-scripts

路径。 react-scripts > webpack-dev-server > http-proxy-middleware > http-proxy

更多信息。 https:/npmjs.comadvisories1486

(我的版本是"react-scripts"是 3.4.1). 当然,"npm audit fix"不工作。

我该怎么办呢?是需要关心还是可以正常工作?

reactjs http-proxy denial-of-service
1个回答
4
投票

所有版本的http-proxy都存在拒绝服务的漏洞。带有长body的HTTP请求会触发ERR_HTTP_HEADERS_SENT未处理的异常,使代理服务器崩溃。只有当代理服务器使用proxyReq.setHeader函数在代理请求中设置头信息时,才有可能出现这种情况。

如果代理服务器运行在 http:/localhost:3000下面的curl请求会触发未处理的异常:curl -XPOST http:/localhost:3000 -d "$(python -c 'print("x "*1025)')"

补救

目前没有可用的修复程序。请考虑使用其他的软件包,直到有了可用的修复程序。

结束语

但目前来说,你可以正常工作。目前来看,应该不会造成任何类型的工作异常。


3
投票

升级到http-proxy 1.18.1+,它包含了对详细的安全问题的修复。NPM现在已经更新了他们的安全API,包含了这个问题已经解决的信息。

请看 https:/github.comhttp-partynode-http-proxyissues1446。 更多信息


0
投票

* 首先安装软件包*

npm install http-proxy --save-dev。

* 在你的package.json文件中添加以下语句*。

"resolutions" :{"http-proxy": "^1.18.1"}

"scripts" :{"preinstall": "npx npm-force-resolutions"}。

然后在命令提示符下运行该命令-

npm安装

*这可能是修复你的漏洞*

© www.soinside.com 2019 - 2024. All rights reserved.