🟠 高危 | CVE-2026-54650 — openhole exposes localhost to the internet in one ...
🟠 《高危安全漏洞: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 |
🔗 参考链接
💬 评论