这个哪吒的高危对于苟在v0的影响大吗

swag 2026-06-15 21:33 1

https://github.com/nezhahq/nezha/security/advisories/GHSA-5c25-7vpj-9mqh

最新回复 (2)
  • gengsir 06-15 23:07
    1

    让Opus分析了一番,仅供参考。

    我自己也是用的v0,最近忙没空处理,直接先关公网访问了(


    先给结论:你当前这个版本不受该漏洞(CVE-2026-53519)影响——漏洞所在的那段代码在你的版本里根本不存在。


    判断依据(代码层面)


    这个漏洞是 V1 架构(nezhahq/nezha,2.0.x 线) 特有的。它依赖三个要素:catch-all 路由 r.NoRoute(fallbackToFrontend(frontendDist))、用 path.Join(singleton.Conf.AdminTemplate, stripPath) 拼出真实 OS 路径、再用 os.Stat + http.ServeFile 把工作目录里的 admin-dist/user-dist 前端资源吐出去。traversal 原语正是从这条"本地文件服务"链路逃逸出来的。


    而你贴的这份 controller.goV0 老模板架构(naiba/nezha,几个关键点都对不上:



    • import 路径是 github.com/naiba/nezha/...,不是 nezhahq——这是 V1 重写之前的旧仓库代码。

    • catch-all 是 r.NoRoute(page404) / r.NoMethod(page404)page404 只调用 mygin.ShowErrorPage 渲染一个错误页,从不拿用户可控的 URL.Path 去拼本地文件路径。没有 fallbackToFrontend、没有 frontendDist、没有 admin-dist/user-dist、也没有 singleton.Conf.AdminTemplatepath.Join

    • 你唯一的静态文件服务是 r.StaticFS("/static", http.FS(resource.StaticFS)),基于 embed.FS。gin 的 StaticFShttp.FileServer,会做 path clean,且 embed.FS 本身无法逃逸到嵌入根之外——不存在这个 traversal 原语。


    整个路由装配(ServeWebr.NoRoute(page404))都在这一个文件里能看全,所以判断是确定的,不是"可能"。


    版本对应关系


    CVE-2026-53519 影响 2.0.13 之前的 Nezha Monitoring 版本,已在 2.0.13 修复,CVSS 9.1(Critical)。这些都是 V1 线的版本号,与你的 V0 无对应关系。


    一个需要单独提醒的点(与该 CVE 无关)


    虽然你躲过了这个 CVE,但你跑的是 V0,而官方已经明确 v0 面板已停止维护,请尽快升级至 v1 面板。也就是说 V0 现在是 EOL 状态,不会再收到任何安全补丁——它可能有自己未修的问题,只是恰好不是这一个。


    另外提一句,V1 近期被集中扒了一批高危洞,升级时别只盯着这个:比如 CVE-2026-46716(低权限 RoleMember 通过 cron 任务在所有受管服务器上 RCE,CVSS 9.9),在 2.0.8 修复。所以如果以后迁到 V1,直接上 ≥ 2.0.13 比较稳妥。


    如果你愿意贴一下你这个 V0 的具体 tag / commit,我可以帮你再核一下它有没有别的已知问题。


  • railzen 06-16 00:46
    2

    V0没有影响,V1版本引入的,我确认过了

* 帖子来源NodeSeek
返回