GitHub sperrt standardmäßig riskante Code-Checkouts bei geforkten Pull Requests, um die Ausführung von Schadcode mit vollen Rechten zu verhindern.
GitHub hat eine Sicherheitsaktualisierung für die offizielle GitHub-Action actions/checkout eingeführt. Seit dem 18. Juni 2026 blockiert die Version 7 dieser Komponente standardmäßig bestimmte Muster von sogenannten Pwn-Request-Angriffen. Diese Modifikation soll am 16. Juli 2026 rückwirkend auf alle derzeit unterstützten Hauptversionen der Action übertragen werden.
Konkret verweigert actions/checkout v7 das automatische Abrufen von Code aus den Pull Requests von externen Repository-Abspaltungen (Forks), sofern diese innerhalb von pull_request_target oder workflow_run Workflows gestartet werden. Entwickler können diese Schutzfunktion nur explizit deaktivieren, indem sie den Parameter allow-unsafe-pr-checkout auf den Wert true setzen.
Funktionsweise und Gefahren von Pwn-Request-Angriffen
Die Anpassung zielt auf eine bekannte Schwachstelle im Ökosystem der GitHub Actions ab. Der Trigger pull_request_target führt Automatisierungen ohne manuelle Freigabe aus, sobald ein Pull Request geöffnet oder aktualisiert wird. Dieser Prozess läuft im Kontext des Basis-Repositorys ab, wodurch der Workflow Zugriff auf sensible Umgebungsvariablen und ein GITHUB_TOKEN mit Lese- und Schreibrechten erhält. Wenn ein unüberprüfter Pull Request aus einem Fork Schadcode enthält und dieser über actions/checkout in die Ausführungsumgebung geladen wird, können Angreifer diese Token entwenden. GitHub warnt in der Dokumentation vor den Konsequenzen:
„Workflows, die durch pull_request_target ausgelöst werden, werden mit dem GITHUB_TOKEN des Basis-Repositorys, Geheimnissen und dem Cache-Zugriff des Standard-Branchs ausgeführt. Das Auschecken des Heads eines unüberprüften Pull Requests aus einem Fork innerhalb eines dieser Workflows ermöglicht es in der Regel von Angreifern kontrolliertem Code, mit den vollen Berechtigungen des Workflows ausgeführt zu werden.“
GitHub
In der Vergangenheit wurden durch solche Angriffe, wie etwa bei der Kampagne s1ngularity, mehrere Pakete des Nx-Build-Systems sowie Repositories von PostHog, TanStack und das Emacs-Paket kubernetes-el kompromittiert.
Grenzen der neuen Schutzmaßnahme bei GitHub
Die Sicherheitsanalysten des Analysehauses Socket betonen jedoch, dass die Aktualisierung keine Universallösung darstellt. Die Blockierung greift ausschließlich, wenn der Checkout direkt über die offizielle actions/checkout-Komponente initiiert wird. Manuelle Befehle über reguläre git-Aufrufe oder die GitHub-Kommandozeile (CLI) sowie alternative Auslöser wie issue_comment sind von der Restriktion nicht betroffen. Ebenso wird das Auschecken von völlig unbezogenen Drittanbieter-Repositories nicht unterbunden. Der Schutz dient somit als wichtige Sicherheitsbarriere, entbindet Entwickler jedoch nicht von der manuellen Überprüfung von automatisierten Abläufen, die erhabene Privilegien oder Zugriff auf kryptografische Schlüssel nutzen.
Das Analysehaus Socket stellte dazu fest: „Der Schutz in diesem Update deckt nur Checkouts ab, die über actions/checkout durchgeführt werden,“ Was die Reichweite angeht, hieß es weiter: „Das macht dies zu einer Schutzplanke, nicht zu einer vollständigen Lösung für die Actions-Sicherheit. Workflows, die mit Geheimnissen, Schreibberechtigungen, Bereitstellungsberechtigungen oder OIDC-Veröffentlichungszugriff ausgeführt werden, erfordern weiterhin eine sorgfältige Überprüfung.“
(red)