ghtier
← Back to Organization plane incidents
Organization2023–2024

Self-hosted runner takeovers (PyTorch and others)

A fork PR makes you a "previous contributor," after which workflows run on the self-hosted runner without approval; default runner setup is non-ephemeral, so access persists. On PyTorch, researchers confirmed root on the runners and pulled GITHUB_TOKENs with extensive write access out of .git/config during active workflows. Against GitHub's own actions/runner-images, the access reached internal macOS private cloud vCenter and Azure credentials, and could have poisoned every hosted runner base image. TensorFlow's fix was requiring approval for all fork PRs and setting GITHUB_TOKEN to read-only on self-hosted runners.

Permissions abused

Fork PR access to a non-ephemeral self-hosted runnerGITHUB_TOKEN with write scope

On the permission reference

Reported by: Adnan Khan / John Stawinski

Frameworks

Ongoing. First seen January 2023. Mapping by ghtier, not yet reviewed. Threat landscape