Le 3 août 2026 à 14h17 UTC, un CDN JavaScript utilisé par des centaines de milliers de sites pour servir des scripts de tracking, d'analytics et de chat a commencé à distribuer une version de ses scripts modifiée. Le payload : un keylogger ciblant les champs de formulaire et un redirecteur qui intervenait sur certaines pages de paiement pour envoyer les données vers un serveur tiers. L'incident a été détecté par Sentry sur plusieurs sites clients avant que le CDN ne soit alerté. La fenêtre d'exposition a duré environ 4 heures.
Comment l'attaque a fonctionné
Le CDN ne distribuait pas un nouveau fichier : le fichier existant a été modifié directement sur l'infrastructure du fournisseur après une compromission de son pipeline de déploiement. Les utilisateurs qui chargeaient le script via la balise <script src="https://cdn.exemple.com/analytics.min.js"> recevaient la version malveillante sans aucune alerte côté navigateur.
La modification était subtile : 3 lignes ajoutées à la fin du fichier minifié, obfusquées sous forme de chaînes encodées en base64. Le script capturait les événements keyup sur les inputs de type email, password et text, et envoyait un batch toutes les 2 secondes à un domaine enregistré 48 heures plus tôt.
Subresource Integrity : la protection qui aurait tout bloqué
L'attribut integrity sur les balises <script> et <link> permet au navigateur de vérifier que le fichier reçu correspond exactement à un hash défini côté développeur. Si le fichier est modifié, même d'un seul octet, le navigateur refuse de l'exécuter.
<script
src="https://cdn.exemple.com/analytics.min.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
crossorigin="anonymous">
</script>
Aucun des 300 000 sites affectés n'utilisait SRI sur ce script. Ce n'est pas une surprise : SRI oblige à mettre à jour le hash à chaque mise à jour du CDN, ce qui est perçu comme une friction par les équipes de développement.
Ce que vous devez faire immédiatement
- Auditer tous les
<script src>qui pointent vers des domaines tiers dans vos pages. Un grep suffit :grep -r 'src="https://' src/. - Pour chaque CDN tiers critique (analytics, chat, paiement), ajouter l'attribut SRI. Générez le hash avec srihash.org ou
openssl dgst -sha384 -binary fichier.js | openssl base64 -A. - Envisager de self-héberger les scripts critiques plutôt que de les charger depuis un CDN tiers.
- Mettre en place une Content Security Policy (CSP) restrictive qui bloque les requêtes vers des domaines non autorisés.
- Configurer Sentry ou un outil équivalent pour détecter les erreurs réseau inhabituelles côté client.
- Subresource Integrity (SRI) — MDN Web Docs, 2026
- Rapport d'incident CDN — BleepingComputer, 4 août 2026