
这是 nextjs 官方开源的修复工具,无需担心! 具体地址: https://github.com/vercel-labs/fix-react2shell-next
使用方面,一条命令就行了 npx fix-react2shell-next --fix
我大概讲下这次漏洞的修复原理,其实就是把 next.js 版本和 React RSC Packages 的版本升级到对应的 Patched 版本就可以。
运行上面的命令之后,我们可以看到在我们项目包管理里,nextjs 版本升级到对应版本了,但是里面 react 还是有漏洞的版本,所以挺多人会有这个疑惑:这个工具是不是不行?是不是还得手动改下 react 的版本?
下面这个 issues 里就有人担心: https://github.com/vercel-labs/fix-react2shell-next/issues/13
实际上 github 里讲清楚了: Recursively scans all package.json files (handles monorepos) Checks for vulnerable versions of:
nextjs 会将 react-server 的服务端的这些包(也就是上面的 react-server 的 3 个包)打包到 nextjs 里,而升级了的 nextjs 里包含的 react-server 是 Patched 的版本,也就是修复了这个 bug 的版本。
至于我们项目的包管理里的 react 是前端的框架,没有这个漏洞。
我们也可以在全局代码里搜索react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack这三个包确认下,在我们自己的代码里应该找不到这三个包。
1 kasusa 20 小时 58 分钟前 emm 不就是升级嘛。 升级之后还要重新部署啊。 |