🟠 《高危安全漏洞:CVE-2026-54650》

CVSS 评分: 高危(8.6)  状态: Received  发布时间: 2026-07-28


漏洞简介

CVE-2026-54650 是一个存在于 openhole 项目中的路径遍历(Path Traversal)漏洞,对应 CWE-22 分类。openhole 是一个能够通过一条命令将本地服务(localhost)暴露到互联网的工具。该漏洞源于其服务器组件 openhole-server 在转发 HTTP 请求时,错误地使用了 r.URL.Path 而非 r.URL.EscapedPath() 来传递原始请求目标。

具体来说,在版本 0.1.1 及更早版本中,internal/server/public_proxy.go 文件内的代理逻辑会直接使用 r.URL.Path 进行转发。这导致攻击者可以通过在 URL 中注入经过百分号编码的路径片段(如 %2e 表示点号 .%2f 表示斜杠 /)来绕过路径检查。这些编码字符在后续处理中会被解码为 ..//,从而实现对隧道后端本地服务的路径遍历攻击。

该漏洞已在 openhole 版本 0.1.2 中修复,修复提交位于 a28c27adde2a7ed0c347b730c8707208c0f78ed3

影响范围

  • 受影响版本:openhole 0.1.1 及更早版本
  • 不受影响版本:openhole 0.1.2 及以上版本
  • 组件openhole-server 中的 internal/server/public_proxy.go

风险分析

  • 攻击向量:远程网络攻击(AV:N),攻击者无需认证(PR:N),无需用户交互(UI:N)。
  • 攻击复杂度:低(AC:L),攻击者只需构造包含编码路径的 HTTP 请求即可。
  • 影响范围:已变更(S:C),漏洞可能影响与 openhole 隧道相连的本地服务,而不仅仅是 openhole 本身。
  • 机密性影响:高(C:H),攻击者可以利用路径遍历读取本地服务中任意文件或访问受限资源,例如配置文件、数据库文件或敏感数据。
  • 完整性影响:无(I:N),该漏洞目前仅被证实可用于读取操作,不直接导致数据篡改。
  • 可用性影响:无(A:N),不直接导致服务中断。

可能的攻击后果
攻击者通过向 openhole 暴露的公共端点发送特制请求,利用 %2e%2e%2f 等编码序列实现目录跳转,从而访问本应受保护的本地服务内部路径。例如,如果后端运行着一个 Web 应用,攻击者可能读取其 /etc/passwd、应用配置文件或数据库凭证,进而导致敏感信息泄露。由于 openhole 的设计目的是将本地服务暴露到公网,该漏洞会显著扩大攻击面,使原本仅限本地访问的服务面临远程数据泄露风险。


🔍 技术细节

字段
CVE ID CVE-2026-54650
CVSS 评分 8.6 🟠
严重程度 高危
CVSS 向量 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
CWE 分类 CWE-22
发布时间 2026-07-28
最后更新 2026-07-28
状态 Received
数据来源 security-advisories@github.com

🔗 参考链接