Sourcehut account takeover via build logs (XSS in ansi2html)
2 hours ago
- 作者建立了一个为项目付费的SourceHut实例,导致sr.ht仓库被入侵。
- SourceHut的微服务结构包括builds.sr.ht和mirror.sr.ht,用于提供预构建的软件包。
- 构建自定义Alpine软件包涉及fork sr.ht-apkbuilds并使用builds.sr.ht。
- 在构建日志中发现浪费的CSS,并调查了用于ANSI转义序列的ansi2html转换器。
- 通过OSC 8超链接发现XSS:注入任意HTML属性和javascript: URI。
- 攻击:构建日志中的恶意输入(例如通过公共邮件列表补丁)在查看者的浏览器中触发有效载荷。
- 有效载荷可以窃取CSRF令牌、重新提交构建、获取管理员权限以及访问部署密钥。
- 防御措施包括CSP、消毒处理(SourceHut的修复)以及代码重构。
- 作者向SourceHut安全团队报告;Drew DeVault通过自动消毒输出进行了缓解。
- 与ansi2html上游合作发布了修复该漏洞的1.9.3和1.9.4版本。
- 该漏洞于2021年引入,2022年起在旗舰实例上被利用,2026年修复。
- 作者批评了CVSS评分,并由于潜在影响将该漏洞评为高危/严重。
- 作者从漏洞研究中获得0美元收入,并寻求通过购买或咨询获得支持。