V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yeelooyeeuu
V2EX  ›  信息安全

nextjs 漏洞 CVE-2025-66478 官方修复方案,一键修复,个人经验分享!

  •  
  •   yeelooyeeuu · 2 天前 · 1395 次点击

    这是 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:

    • next
    • react-server-dom-webpack
    • react-server-dom-parcel
    • react-server-dom-turbopack

    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这三个包确认下,在我们自己的代码里应该找不到这三个包。

    3 条回复    2025-12-09 18:34:20 +08:00
    kasusa
        1
    kasusa  
       2 天前
    emm 不就是升级嘛。 升级之后还要重新部署啊。
    yeelooyeeuu
        2
    yeelooyeeuu  
    OP
       1 天前
    嗯,是升级就行,手动的话,得知道升级哪些:
    比如,nextjs 升级到对应版本后,其实 react 的版本不用升级(因为不是 react-server )。


    官方的这个工具的话,一键修复,更方便省心。
    yeelooyeeuu
        3
    yeelooyeeuu  
    OP
       1 天前
    @kasusa

    嗯,是升级就行,手动的话,得知道升级哪些:
    比如,nextjs 升级到对应版本后,其实 react 的版本不用升级(因为不是 react-server )。


    官方的这个工具的话,一键修复,更方便省心。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5417 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 06:37 · PVG 14:37 · LAX 22:37 · JFK 01:37
    ♥ Do have faith in what you're doing.