GitHub Actions pull_request_target RCE in OWASP BLT pre-commit-fix workflow
CVE-2026-42603 affects OWASP BLT versions prior to 2.1.2. The vulnerable component is the GitHub Actions workflow file .github/workflows/pre-commit-fix.yaml, which uses the privileged pull_request_target event and then checks out and executes code from an attacker's forked pull request. Because pull_request_target runs in the security context of the target repository, this workflow design allows untrusted attacker-controlled code to execute with elevated repository permissions. The issue can result in remote code execution within the GitHub Actions runner and access to the repository's write-capable workflow token or other secrets available to that job. The issue was fixed in version 2.1.2.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation allows an attacker submitting a malicious pull request from a fork to achieve code execution in the privileged GitHub Actions context associated with the target repository. Because the workflow runs with write permissions, the attacker may be able to modify repository contents, tamper with workflows, create or alter commits, tags, releases, or pull requests, and potentially access or misuse secrets exposed to the job. This can lead to compromise of source integrity, CI/CD pipeline abuse, and broader downstream supply-chain impact.
If you can’t patch tonight, do this now.
Until patched, disable or restrict the affected .github/workflows/pre-commit-fix.yaml workflow, especially for fork-originated pull requests. Avoid using pull_request_target for workflows that execute PR code; prefer pull_request for untrusted code paths. Reduce GITHUB_TOKEN permissions to least privilege, disable write permissions where not required, prevent secrets from being exposed to jobs processing untrusted contributions, and require maintainer review before running workflows on external pull requests.
Patch, then assume compromise.
Upgrade OWASP BLT to version 2.1.2 or later, where the vulnerable workflow behavior has been fixed. In general, workflows triggered by pull_request_target should not check out, build, or execute code from the untrusted head of a forked pull request. If privileged automation is required, separate untrusted validation from privileged post-processing, and ensure any privileged job operates only on trusted repository content.
No public exploits tracked yet. Mallory keeps watching.
4 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.