Arcane 模板获取端点存在未经身份验证的 SSRF 漏洞(带条件响应反射)
PoC影响软件
go:github.com/getarcaneapp/arcane/backend
CWE
CWE-918
CVSS
7.2 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N)
受影响版本
<= 1.17.2
修复版本
1.17.3
漏洞描述
### 漏洞概述 Arcane 的 `/api/templates/fetch` 端点存在未经身份验证的服务器端请求伪造 (SSRF) 漏洞。由于该端点在处理用户提供的 `url` 参数时,未进行身份验证,也未对目标 URL 的协议(Scheme)或主机(Host)进行白名单/黑名单校验,导致攻击者可以诱导服务器发起指向内部网络或受限服务的 HTTP GET 请求。 ### 影响范围 任何可公开访问的 Arcane 实例。受影响的软件包为 `go:github.com/getarcaneapp/arcane/backend` 版本 <= 1.17.2。 ### 利用条件 1. 攻击者无需任何身份验证即可访问 `/api/templates/fetch` 端点。 2. 目标服务器未对请求的 URL 进行有效的目的地主机或 CIDR 校验。 ### 利用细节 该漏洞具有响应反射特性,攻击者可以通过观察响应结果来探测内部环境: - **JSON 探测**:如果目标返回有效的 JSON,服务器会直接反射响应体。 - **内容探测**:如果目标返回非 JSON 的 HTTP 200 响应,服务器会泄露响应的第一个字符。 - **状态码探测**:非 200 响应会直接泄露 HTTP 状态码。 - **端口探测**:通过 TCP 层面的错误信息(如 "connection refused" 或 "i/o timeout")可以区分端口是关闭还是被防火墙拦截。 ### 修复建议 建议将 Arcane 升级至 v1.17.3 或更高版本,该版本已修复此漏洞。 ### 参考链接 - https://github.com/advisories/GHSA-ff24-4prj-gpmj
补充来源
PoC / 利用代码
此 PoC 由 AI 生成,仅用于安全研究和验证,未经实际测试,请勿用于非法用途。
登录后可查看 PoC 内容
当前页面内容可能涉及 AI 翻译、补全或规范化处理,请结合原始来源核对关键信息。