Aller au contenu
Sécurité medium

Laravel-Lang (tags Composer réécrits)

3 min de lecture
Point de compromission dans la chaîne Rupture · étape Secrets
Source
amont
Dépendances
deps
Build & CI
ci
Packaging
artefact
Release
Secrets
Registres
distribution
Déploiement
admission
Runtime
exécution
Rayon d'explosion — compromission à l'étape Secrets, propagation possible aux consommateurs. Domaines : Poste de travail, Source, Intégration, Release, Secrets
Gravité élevé
Laravel-Lang : tous les tags de plusieurs paquets Composer réécrits pour voler les secrets CI.
4 paquets
Composer compromis
502
tags réécrits (lang)
1 identifiant
accès org-wide
22:32 UTC
début des réécritures

En bref

Date
02/06/2026
Gravité
Élevé
Étape de la chaîne
Secrets
Domaines SOCLE
Poste de travail+ Source, Intégration, Release, Secrets

Que s'est-il passé ?

Contexte

Le 22 mai 2026, un acteur unique compromet quatre paquets Composer de l'organisation Laravel-Lang, dont le paquet phare laravel-lang/lang (502 tags), via un unique identifiant à accès push sur toute l'organisation.

Mécanisme

Plutôt que publier une version malveillante, l'attaquant réécrit chaque tag git existant pour le faire pointer vers un commit piégé. Les commits ajoutent src/helpers.php à l'autoload.files de Composer : un simple require de vendor/autoload.php, exécuté au démarrage de toute appli Laravel ou Symfony, déclenche la charge.

Impact

La charge contacte flipboxstudio.info, dépose un loader PHP et un binaire ELF dans /tmp, exfiltre l'environnement du runner, puis efface ses propres artefacts pour gêner l'analyse. L'exploitation a été confirmée en détonant http-statuses v3.4.5 sous Harden-Runner.

Parades

Épingler dépendances et actions par SHA de commit (jamais par tag), interdire la réécriture de tags sur les dépôts sensibles, imposer la 2FA et durcir les comptes mainteneurs, détecter les mouvements de tags anormaux.

Chronologie de l'attaque

22 mai 2026
Début des réécritures

À 22h32 UTC, l'attaquant commence à réécrire les tags de laravel-lang/lang (502 tags).

22 mai 2026
Fin de la campagne

Vers minuit UTC, les quatre dépôts (jusqu'à laravel-lang/actions) ont tous leurs tags réécrits.

2 juin 2026
Analyse et signalement

StepSecurity confirme l'exploitation en détonant http-statuses v3.4.5 et ouvre une issue de sécurité dans les quatre dépôts.

Comment l'attaquant a procédé

Cet incident met en jeu les vecteurs d'attaque suivants du catalogue SOCLE ; chacun renvoie à sa fiche, où l'on trouve les exigences qui le neutralisent :

La leçon à en tirer

Ce qu'il faut retenir

Pas de secrets en clair ; scan de secrets ; rotation et détection de fuite ; jetons courts.

Les exigences SOCLE qui auraient limité cet incident

Cet incident se rattache à 20 exigences du référentiel, par domaine. Les satisfaire n'aurait pas forcément tout empêché, mais aurait réduit la probabilité de l'attaque, limité son impact ou accéléré sa détection :

Pour aller plus loin

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn