actions / actions/actions-runner-controller
RUNNER_TOKEN is accessible from workflows running on the host
Open
Nobody has claimed this yet.
community
enhancement
needs triage
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 1.5k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 27
Description
Currently RUNNER_TOKEN is protected from exfiltration using unset here after registering the agent but this doesn't prevent the secret from being leaked by accessing the parent process environ /proc/1/environ
jobs:
printenv:
name: printenv
runs-on: [self-hosted]
steps:
- run: |
grep --binary-files=text RUNNER_TOKEN /proc/1/environ | base64 -w 0
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with runner/startup.sh around line 161 and reproduce the reported workflow that reads /proc/1/environ for RUNNER_TOKEN. Trace how the token remains available to the parent process, then verify that the completed change prevents the token from being exposed through that environment path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- infrastructure, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100