Description
Cap-go before 12.128.2 contains a privilege inversion vulnerability in GET /build/logs/:jobId that allows read-only API key holders to cancel running native builds. The endpoint registers an abort listener on the SSE stream that unconditionally invokes cancelBuildOnDisconnect() using the privileged server-side BUILDER_API_KEY when clients disconnect, bypassing the app.build_native permission check required by the explicit POST /build/cancel/:jobId endpoint. Attackers with read-only API keys can repeatedly disrupt native build operations and CI/CD workflows by opening the log stream and dropping the connection.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Cap-go | capgo | < 12.128.2 | 12.128.2 |
References
- GitHub Security Advisory (GHSA-95g7-xwwx-j737) vendor-advisory
- VulnCheck Advisory: Cap-go - Privilege Inversion in Build Log Stream via SSE Disconnect third-party-advisory