GitHub Updates actions/checkout to Block Common Pwn Request Attack Patterns
Mis à jour :
Sécurisation de la chaîne d’approvisionnement : GitHub bloque les attaques « Pwn Request »
GitHub a mis à jour l’action actions/checkout (version 7) pour empêcher par défaut l’exécution de code malveillant provenant de dépôts forkeurs lors de l’utilisation du déclencheur pull_request_target. Cette mesure vise à contrer les attaques de type « pwn request » qui exploitent les privilèges élevés associés aux workflows GitHub Actions.
Points clés :
- Vulnérabilité contextuelle : Le déclencheur
pull_request_targets’exécute avec les secrets et les permissions en écriture du dépôt de base. Lorsqu’il est combiné avecactions/checkoutpour extraire le code d’un fork non fiable, un attaquant peut exécuter du code arbitraire avec les privilèges du workflow. - Mesure de protection : Depuis le 18 juin 2026,
actions/checkoutrefuse automatiquement de récupérer le code source des pull requests issues de forks si certaines conditions de référence (référencesrefs/pull/...ou SHA de commit) sont remplies. - Portée limitée : Cette protection est un garde-fou spécifique à
actions/checkout. Elle ne couvre pas les autres méthodes d’extraction de code (via Git ou CLI) ni les autres déclencheurs d’événements.
CVE associée :
- Aucune CVE spécifique n’est mentionnée ; le problème réside dans une mauvaise configuration logique des privilèges GitHub Actions.
Recommandations :
- Utilisation restreinte : Privilégier le déclencheur
pull_requeststandard plutôt quepull_request_targetdès que l’accès aux secrets ou aux droits d’écriture n’est pas strictement nécessaire. - Principe du moindre privilège : Restreindre explicitement les permissions accordées aux workflows (
GITHUB_TOKENavec des droits en lecture seule si possible). - Audit de code : Ne jamais exécuter de code provenant d’une source non fiable au sein d’un workflow disposant de privilèges élevés.
- Option de dérogation : Pour les cas d’usage légitimes nécessitant cette fonctionnalité, l’utilisation du flag
allow-unsafe-pr-checkout: trueest requise, tout en étant conscient des risques de sécurité accrus.
