结论先行
如果你只是用 EasyTier GUI 纯组网、没开 Web 控制台/Web API、也没把 GUI 切成"远程模式"去连别的机器的 API,那 Issue #2446 这个 GET /api/v1/sessions 越权接口基本碰不到你,利用链不成立。
2026 年 7 月实测版本 v2.x,纯 GUI Normal Mode,默认配置。
这个 bug 落在哪一层
Issue #2446 的越权接口 /api/v1/sessions 属于 easytier-web / easytier-web-embed 的 Web API 后端(RESTful 管理面),不是 easytier-core 的 P2P 组网隧道,也不是 GUI 本地的 Ring RPC。
官方 Web 控制台架构里:
- Web API 后端默认监听 11211(可
-a/--api-server-port改) - 配置下发服务默认 22020/UDP
--no-web可只关前端、但 API 后端仍可由 web 组件拉起- 这个 HTTP 服务只有运行 easytier-web / web-embed,或在 GUI/OpenWrt 里勾了"Web 配置/Web 控制台"才会起来
纯 GUI 组网实际开了什么
EasyTier 桌面 GUI 正常模式(Normal Mode)是:
- GUI 进程内嵌 core 逻辑
- 用 Ring(内存 IPC) 或本机 TCP
127.0.0.1:15888类的 RPC portal 管实例 - 对外只走组网 listener(默认 11010/11011/11012/11013 这类 peer 端口)
它不会顺手起一个 11211 的 Web API HTTP 服务。所以:
curl http://你IP:11211/api/v1/sessions
# → Connection refused(连接拒绝) 攻击者没地方发这个 GET 请求,越权就无从谈起。
几种"会被波及"的例外
你中任一条才需要管:
- 在 GUI / OpenWrt Luci / 命令行里启了 Web 控制台(easytier-web-embed),且 API 监听绑到
0.0.0.0或非回环地址 - 用
easytier-web自建了集中配置服务,并让其他节点-w udp://你的IP:22020连上来,同时 API 端口暴露出去 - GUI 切到 Remote Mode(远程模式),填了别人的 API Host(
http://x.x.x.x:11211) - 反向代理把 11211 挂到公网 WSS/HTTPS 后面,没加鉴权层
注意:GUI 本机 RPC(15888)和 Web API(11211)是两回事。Issue 2446 不砸 15888 的 RPC,砸的是 11211 的 Web session 接口。
风险定性
| 场景 | 11211 监听 | 风险 |
|---|---|---|
| 纯 GUI Normal Mode | ❌ 未启动 | ≈ 0 |
| GUI + Web 控制台,绑 127.0.0.1 | ✅ 仅回环 | 低(本机访问) |
| GUI + Web 控制台,绑 0.0.0.0 | ✅ 公网可达 | 高(需升级修复) |
| easytier-web 集中服务 | ✅ 公网可达 | 中(看鉴权) |
安全建议清单
- 不用 Web 功能就不用管 2446,正常升级到含修复的版本即可
- 哪天启了 Web 控制台,API 端口绑回
127.0.0.1或加反代鉴权,别直接对公网开 11211 - RPC portal(15888)别绑
0.0.0.0,即便绑了也要设--rpc-portal-whitelist - 用 端口暴露检测工具 自查一遍
- 下载 私有组网排障检查表 PDF,含各系统防火墙命令
一句话总结:纯 GUI + 网络名/密码组网 + 默认不勾 Web = 无 /api/v1/sessions 监听 → 漏洞不可达 → 实际风险 ≈ 0。