This CVE reveals a structural flaw in how authorization scope gets mapped to operational capability. The runner token endpoint accepts GET requests but returns credentials that mint persistent access to your CI/CD infrastructure — a read-scoped token can register runners capable of pulling secrets and source code from every repository the compromised user account can access.

The core vulnerability isn't a misclassified endpoint; it's that the authentication middleware treats HTTP method as a reliable proxy for authorization scope. GET requests are assumed read-only by the permission model, but this endpoint demonstrates they can produce capabilities with write-equivalent runtime implications. A read token in this context becomes a skeleton key to organizational supply chain access.

The blast radius is systemic, not isolated. A malicious runner registered through this path executes workflows across your entire organization. That's not just data confidentiality at stake — it's infrastructure integrity. The escalation path runs user → runner → CI/CD → all repos the user can access. Read tokens are also more likely to leak than write tokens (they're shared more broadly, logged more verbosely), which means this vulnerability targets the most probable failure mode.

Beyond patching this endpoint, audit your GET surface for the response-as-side-effect pattern — endpoints whose primary payload is a mintable credential rather than data. Treat any endpoint returning a capability as write-equivalent regardless of HTTP method.

There's also a temporal dimension standard remediation timelines ignore. Runners persist after patching. A malicious runner registered before the fix doesn't evaporate on deployment — you likely can't distinguish it from legitimate runners since there's no registration provenance in the audit trail. The honest remediation may require rotating all runners for affected users or accepting unknown compromise.

This is a recurring pattern across systems: OAuth scope misuse, AWS IAM policy confusion, now this. Each gets patched at the endpoint level and treated as resolved. The pattern surviving suggests architectural guidance isn't capturing the systemic signal. This CVE should force the question: how many other read-scoped endpoints quietly mutate state, and what's your audit trail to find them?