← Lab /Security & privacy

GitHub’s 2026 changes stop most pull_request_target exploits but many gaps remain

Security & privacy Explainer · Prototype · Wiz Research

The claim

The authors claim that GitHub’s 2026 platform updates largely mitigate pull_request_target attacks but still allow exploitation via explicit opt-ins, SHA-pinned old checkout versions, custom checkout scripts, script injection, unprotected triggers, artifact poisoning, and persistent runner state.

Shay Berkovich · Wiz Research Writeup

Published as: “The Pwn Request Reckoning: What Still Works Against GitHub Actions”

So what

Defenders must audit workflows for explicit opt-ins, outdated actions, and unsafe input handling despite GitHub’s platform hardening.

The five-minute version

The blog surveys GitHub’s 2026 security rollout that adds default event policies, read-only cache tokens, and back-ported checkout protections for actions/checkout. While these changes block the classic pull_request_target exploit in most public repos, the authors demonstrate several residual attack paths: explicit opt-ins, SHA-pinned legacy checkout versions, custom checkout scripts, script injection via ${{ }} expressions, unprotected event types, artifact poisoning, and stateful self-hosted runners. Their evidence consists of empirical tests on real GitHub workflows and a detailed audit checklist, showing the mitigations are effective but incomplete.

What they found 5

What undercuts it the paper’s own results

Stated limits 3

What’s new here 4

Artifacts & methods 7

Topics

pull_request_targetGitHub Actionscheckout protectionsscript injectionartifact poisoningself-hosted runnersevent policiesSHA pinning
← Previous OpenClaw agents exhibit widespread trust-boundary security flaws