SSRF 漏洞总结:/api/v3/post via Webmention dispatch 漏洞概述 漏洞名称:SSRF 漏洞(服务器端请求伪造) 漏洞编号:GHSA-3jvj-v6w2-h948 严重程度:Moderate(中等) CVSS 评分:6.3 / 10 发布日期:3 周前 影响版本:Lemmy 0.19.17 修复版本:无(尚未修复) 描述 Lemmy 允许经过身份验证的低权限用户通过 创建链接帖子。当帖子在公共社区中创建时,后端会异步发送 Webmention 到攻击者控制的链接目标。 提交的 URL 会检查语法和协议,但审计代码路径未拒绝回环、私有或本地目标。这允许普通用户触发服务器端 HTTP 请求,指向内部服务。 细节 入口点是正常的帖子创建 API。 用户可控的 字段被接受,并通过 和 进行验证。 验证仅允许 和 协议,但未实现内部地址拒绝。 帖子创建流程会调度 Webmention 投递到公共社区,从而创建从外部提供的帖子 URL 到服务器端出站 HTTP 请求的直接源到路径。 核心漏洞代码路径 影响范围 攻击向量:网络 攻击复杂度:低 所需权限:低 用户交互:无 范围:未改变 机密性:低 完整性:低 可用性:低 影响 经过身份验证的用户可以将应用程序服务器用作针对内部 HTTP 服务的盲 SSRF 代理。这可能会暴露内部网络可达性、触发内部 webhook 或管理端点,并扩大公共部署边界之外的攻击面。 由于在普通用户内容提交后达到目标,该问题在实际部署中易于利用,因为普通用户可以发布到公共社区。 修复方案 当前状态:尚未提供修复方案 建议措施: - 在验证 URL 时增加对内部地址(如回环地址、私有 IP 地址)的拒绝。 - 限制 Webmention 请求的目标地址,防止服务器端请求伪造。 POC 代码 完整 PoC 预期结果 API 返回成功的 响应。 Lemmy 服务器随后会向 发出出站请求,作为 Webmention 处理的一部分。