SourceHut 关闭注册也能注册:CVE-2026-121728
来源:blog.arusekk.pl — 2026-11-03
📋 概述
安全研究者 Arusekk 在 SourceHut 上找到一个低影响但很典型的逻辑漏洞:站点明明写着「注册已关闭」,前端也不再展示注册表单,但表单处理器还留着。2021 年把注册逻辑从前端 Flask 搬到 GraphQL 后端时,只有错误路径检查了注册开关,happy path 漏掉了。攻击者只要直接 POST /register/step2,带上想要的用户名、邮箱、密码就行;CSRF token 也不用愁,因为 /login 页面拿到的 token 同样能用(它没有按端点限定作用域)。受影响版本 0.56.11 到 0.88.9,至少 10 个实例中招。作者 11 月 2 日披露,11 月 3 日修复并拿到 CVE 编号。
🔑 核心要点
- 注册开关只在错误路径上被检查,成功路径一路畅通。
- 攻击面不依赖前端:直接 POST /register/step2 即可,仍需邮箱验证。
- CSRF token 没有按端点限定作用域,/login 的 token 可以拿来提交注册表单。
- 影响 0.56.11 至 0.88.9,确认至少 10 个实例受影响。
- 从披露到修复只用一天,CVE-2026-121728 由 VulnCheck 分配。
- 根因是一次架构重写把安全检查吞掉了,不是新写的代码有错。
💡 金句
重构会把安全检查吞掉。
👍 0
👎 0
← 返回 Lobsters 首页