Github has rolled out a significant security enhancement to its Actions platform by updating the actions/checkout action to block unsafe workflows that abuse the pull_request_target event. The update, which was made generally available on June 18, 2026, targets misconfigured pull_request_target workflows that have historically enabled attackers to execute malicious code with elevated repository privileges.
The pull_request_target trigger is widely known as one of the most misused events in Github Actions because it runs with the base repository's GITHUB_TOKEN, secrets, and default-branch cache access, even when the pull request comes from an untrusted fork. When maintainers check out the head or merge commit of a forked pull request in this context, attacker-controlled code can run with full CI privileges, a pattern referred to as a "pwn request" that has driven multiple supply-chain compromises across the ecosystem.
What Happened
Github's actions/checkout action is used to check out a repository into the source directory of the workflow. However, when developers incorrectly use this action inside pull_request_target workflows, it can lead to malicious code being executed with elevated privileges. This vulnerability has been exploited in multiple supply-chain incidents across the open-source ecosystem.
The new version of actions/checkout, v7, now refuses to fetch fork pull request code in pull_request_target and workflow_run workflows when the configuration clearly targets a fork PR. Specifically, checkout will fail if the repository input resolves to the fork's repository, if ref matches refs/pull/<number>/head or refs/pull/<number>/merge, or if ref resolves to the fork PR's head or merge commit SHA.
Background and Context
The pull_request_target event is a legitimate trigger in Github Actions that allows workflows to run with the base repository's GITHUB_TOKEN, secrets, and default-branch cache access. However, when used incorrectly, it can lead to malicious code being executed with elevated privileges. This vulnerability has been exploited in multiple supply-chain incidents across the open-source ecosystem.
The "pwn request" attack pattern is a composition of two legitimate Github Actions features: the pull_request_target trigger and the actions/checkout action. When used correctly, these features are secure, but when misconfigured, they can lead to malicious code being executed with elevated privileges.
Why It Matters to the Industry
The update to actions/checkout v7 is significant for the adult industry because it addresses a critical vulnerability in Github Actions that has been exploited in multiple supply-chain incidents. The "pwn request" attack pattern is particularly relevant to the adult industry because it can be used to compromise sensitive data and execute malicious code with elevated privileges.
The update also marks a shift towards a "secure by default" era in which Github defines safety at the platform level rather than leaving it to the discretion of individual developers. This change will require developers to review their workflows and ensure that they are using the actions/checkout action securely.
What Comes Next
Github has confirmed that same-repository pull requests are unaffected by this update, and the traditional pull_request event behavior remains unchanged. However, workflows pinned to a specific SHA, minor, or patch version will not be updated automatically and must be upgraded via Dependabot or established internal processes.
The update does not cover all pwn request vectors, and workflows using run blocks with git or the Github CLI to pull untrusted HEAD refs remain vulnerable. Additionally, other trigger events like issue_comment are outside the scope of this update.
Key Facts
- Github has updated actions/checkout to block unsafe workflows that abuse the pull_request_target event.
- The update targets misconfigured pull_request_target workflows that have historically enabled attackers to execute malicious code with elevated repository privileges.
- The new version of actions/checkout, v7, refuses to fetch fork pull request code in pull_request_target and workflow_run workflows when the configuration clearly targets a fork PR.
- Same-repository pull requests are unaffected by this update, and the traditional pull_request event behavior remains unchanged.
- The update does not cover all pwn request vectors, and workflows using run blocks with git or the Github CLI to pull untrusted HEAD refs remain vulnerable.