CVE-2025-46721
nosurf 因同源请求检查失效而存在 CSRF 漏洞
- 已发布
- 2025年5月13日
- 已更新
- 2025年5月13日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年8月8日
初级CVSS
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X低 · 未来 30 天
- 百分位
- 14.3%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
nosurf 是用于 Go 的跨站请求伪造(CSRF)防护中间件。在 1.2.0 之前的版本中存在一个漏洞,允许控制目标站点内容或目标站点子域名内容(无论是通过 XSS 还是其他方式)的攻击者绕过 CSRF 检查,并以用户名义发起请求。由于误用了 Go 的 `net/http` 库,nosurf 将所有传入请求归类为纯文本 HTTP 请求,在这种情况下,`Referer` 头不会被检查是否与目标网页同源。如果攻击者能够控制目标网站(例如 `example.com`)上的 HTML 内容,或控制托管在目标子域名(例如 `attacker.example.com`)上的网站内容,他们还将能够操纵为目标网站设置的 cookie。通过从 cookie 中获取秘密 CSRF 令牌,或使用攻击者已知的新令牌覆盖 cookie,`attacker.example.com` 能够构造针对 `example.com` 的跨站请求。该问题的补丁已在 nosurf 1.2.0 中发布。如果无法升级到已修补的 nosurf 版本,用户还可以额外使用另一个 HTTP 中间件,以确保非安全 HTTP 请求来自同一来源(例如,要求请求中包含 `Sec-Fetch-Site: same-origin` 头)。
来源
1对CVE-2025-46721的概念验证与分析,该漏洞是nosurf Go库中的一个CSRF漏洞,由同源检查功能失效导致,附带可用的利用演示。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。