GHSA-p9cg-vqcc-grcx 之后 Fedify 的 SSRF 缓解措施仍不完整:validatePublicUrl() 允许了特殊用途的 IPv4 地址段。
主要公告: GHSA-xw9q-2mv6-9fr8
官方 CVE 记录: CVE-2026-50131
研究人员致谢: @chaitanyagarware
| 字段 | 值 |
|---|---|
| CVE | CVE-2026-50131 |
| GHSA | GHSA-xw9q-2mv6-9fr8 |
| 项目 | fedify-dev/fedify |
| 软件包 | @fedify/fedify, @fedify/vocab-runtime |
| 生态系统 | npm, JSR |
| 严重性 | 高 |
| CVSS | 8.6, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L |
| 弱点 | CWE-918, CWE-1286, CWE-1389 |
| 发布时间 | GitHub 公告:2026-06-08;CVE.org:2026-06-10 |
| NVD 状态 | 存在,截至 2026-07-09 为 Deferred |
| OSV 状态 | 存在 |
Fedify 此前添加了公网 URL 校验,以缓解 SSRF 和内网访问风险。后续问题在于,IPv4 校验逻辑仍将多个特殊用途、保留、组播、基准测试、文档以及运营商级 NAT 地址段视为公网目标。
由于 validatePublicUrl() 在出站 ActivityPub 文档和媒体获取之前被调用,不完整的 IP 分类可能绕过预期的 SSRF 防护边界。
| 产品 | 受影响范围 |
|---|---|
@fedify/fedify | >= 0.11.2, < 1.9.12; >= 1.10.0, < 1.10.11; >= 2.0.0, < 2.0.19; >= 2.1.0, < 2.1.15; >= 2.2.0, < 2.2.4 |
@fedify/vocab-runtime | < 2.0.19; >= 2.1.0, < 2.1.15; >= 2.2.0, < 2.2.4 |
| 产品 | 修复版本 |
|---|---|
@fedify/fedify | 1.9.12, 1.10.11, 2.0.19, 2.1.15, 2.2.4 |
@fedify/vocab-runtime | 2.0.19, 2.1.15, 2.2.4 |
| 来源 | 状态 | 链接 |
|---|---|---|
| GitHub 仓库公告 | 已发布 | GHSA-xw9q-2mv6-9fr8 |
| CVE.org / CVE Services | 已发布 | CVE-2026-50131 |
| NVD | 存在,Deferred | NVD 详情 |
| OSV | 存在 | OSV 记录 |
| CVEProject cvelistV5 | 存在 | cvelistV5 JSON |
| CISA Vulnrichment | 存在 | vulnrichment JSON |
fedify-dev/fedify 的变更日志引用了 GHSA-xw9q-2mv6-9fr8。fedify-dev/hollo 和 fedify-dev/botkit 的变更日志引用了同一公告,因为它们使用了 Fedify 软件包。Patrowl/PatrowlHearsData 镜像了此 ID 的 CVE 和 SSVC 数据。sec-dojo-com/cve-poc 为 CVE-2026-50131 提供了公开页面。本仓库是一个公共索引和作品集落地页。它有意对漏洞进行总结并链接到权威记录,而不是复制完整的概念验证(PoC)漏洞利用脚本。