L'exploitation React2Shell compromet 766 systèmes

Une seule requête HTTP. C'est tout ce qu'il a fallu aux hackers pour s'infiltrer dans 766 serveurs Next.js, aspirant des identifiants comme des clés SSH et des jetons AWS. Cisco Talos vient de lever le voile sur ce cauchemar automatisé.

Schéma de la chaîne d'exploitation React2Shell, de la requête HTTP à l'exfiltration d'identifiants via Nexus Listener

Key Takeaways

  • React2Shell (CVE-2025-55182) permet un RCE non authentifié dans Next.js, exploité par UAT-10608 pour un vol massif d'identifiants.
  • Des scans automatisés via Shodan/Censys ont touché 766 systèmes en 24 heures, exfiltrant clés SSH, jetons cloud et plus via Nexus Listener.
  • Le virage architectural vers le SSR expose les secrets backend ; pivotez tout et repensez les frontières frontend-backend.

Une seule requête HTTP malformée frappe une app Next.js publique. Boum — du code arbitraire s’exécute dans le processus Node.js côté serveur. Les identifiants commencent à couler : clés privées SSH, jetons AWS, secrets GitHub. Tout automatisé, tout à grande échelle.

Zoom arrière. Ce n’est pas une attaque ciblée sur un mastodonte du Fortune 500. C’est UAT-10608, un acteur de menace que Cisco Talos piste depuis un moment, qui ravage des configurations React vulnérables via React2Shell — soit CVE-2025-55182, une faille CVSS notée 10/10. Ils ont compromis au moins 766 systèmes en 24 heures, aspiré plus de 10 000 fichiers. Et tenez-vous bien : Talos a jeté un œil au tableau de bord Nexus Listener des attaquants, laissé grand ouvert comme une porte de garage oubliée.

L’exploitation qui n’aurait pas dû exister — mais qui existe

React2Shell prospère parce que les développeurs adorent le rendu côté serveur (SSR) dans Next.js. C’est rapide, bon pour le SEO, ça attire les utilisateurs. Mais voilà le hic : cette vulnérabilité de configuration React permet à des attaquants non authentifiés d’injecter du code directement dans l’environnement d’exécution Node.js. Pas d’authentification. Pas de complication. Juste une charge utile façonnée via HTTP.

Talos le dit sans détour :

« L’ampleur de l’ensemble des victimes et le schéma de ciblage indiscriminé sont cohérents avec un scan automatisé — probablement basé sur des données de profilage d’hôtes provenant de services comme Shodan, Censys, ou des scanners personnalisés pour énumérer les déploiements Next.js publics et les sonder pour les vulnérabilités de configuration React décrites. »

Ils balayent Internet comme des aspirateurs — Shodan, Censys alimentent la bête. Des apps Next.js publiques ? Des cibles de choix. Une sonde, un check de vulnérabilité, et c’est game over.

Mais pourquoi maintenant ? La domination de React dans le frontend signifie des millions de déploiements. Le SSR change l’architecture : les filets de sécurité côté client disparaissent quand le code s’exécute côté serveur. Les attaquants n’ont pas besoin de phishing ou de spear — ils automatisent, point.

Une solution en trois mots ? Appliquez le correctif.

La réalité est plus bordélique. Des scripts automatisés passent en boucle les processus post-violation : environnements d’exécution JavaScript, historiques SSH, API de métadonnées cloud, jetons Kubernetes, variables Docker. Tout y passe. Exfiltration vers un C&C, puis Nexus Listener — une app web pour parcourir le butin. Talos en a trouvé une exposée, cataloguant des clés IA, des identifiants de paiement, des jetons de com. Faites pivoter tout ça, disent-ils. Hier.

Comment React2Shell craque vos secrets

Imaginez la chaîne. Étape un : scanner les bannières Next.js (facile, les en-têtes crient leur nom). Étape deux : sonder la faille de configuration React. Vulnérable ? Envoyez la charge utile. Node.js l’exécute côté serveur — RCE obtenu.

Puis la moisson. Les scripts itèrent sans pitié.

  • Vider les processus en cours.
  • Choper les variables d’environnement des runtimes JS.
  • Récupérer les clés SSH, historiques.
  • Appeler les API cloud (métadonnées AWS ? Bonjour, jetons de rôle d’instance).
  • Comptes de service Kubernetes.
  • Configs de conteneurs.
  • Même les lignes de commande shell.

Tout zippé, expédié vers le C&C. Nexus Listener permet aux attaquants de naviguer comme sur un Dropbox de biens volés. Le coup d’œil de Talos ? 766 hôtes en un jour. Indiscriminé. Des bots partout.

Ce n’est pas nouveau — ça rappelle le spray-and-pray de Log4Shell, mais version frontend. À l’époque, l’ubiquité de Java a tous tué. Aujourd’hui ? L’engouement pour le SSR de React fait pareil. Les devs chassent la performance ; les attaquants chassent les clés.

Mon avis : ça révèle un virage plus profond. Les frameworks frontend qui saignent dans les backends sans blindage backend. Next.js promettait la simplicité — on a eu des piñatas à identifiants.

Pourquoi les devs continuent d’envoyer des apps Next.js vulnérables

La vitesse de mise sur le marché. Voilà le pourquoi. Next.js permet de bricoler des apps fullstack en un clin d’œil — SSR, routes API, tout en un. Mais les correctifs ? Ça traîne. CVE-2025-55182 est sortie, et pourtant 766 systèmes ont sauté en quelques heures.

Le bla-bla corporate parle de « magie du rendu edge ». Appelez un chat un chat : un vecteur pour la débâcle côté serveur. La pureté client-side de React ? Oubliée dès que vous hydratez sur Node. Une mauvaise config, et vos secrets d’environnement deviennent l’ennemi public n°1.

Pronostic audacieux : attendez-vous à des variantes de React2Shell. Les attaquants le chaîneront à des cryptominers, ransomwares. On a vu des défacements Magento, des grabs de credentials VPN — ça va scaler plus grand. À moins que les créateurs de frameworks n’intègrent l’isolation runtime (pensez frontières WebAssembly), on va morfler par vagues.

Parallèle historique ? Heartbleed, 2014. Le buffer overread d’OpenSSL a leaké des clés en masse. React2Shell ? Une confiance excessive en la config leak la même chose. Les devs ont ignoré les alertes Heartbleed ; l’histoire rime.

React2Shell est-il le nouveau Log4Shell pour les devs web ?

En quelque sorte. Log4Shell avait besoin de logs Java partout. React2Shell a besoin… d’une app Next.js publique. Plus courant qu’on ne pense — les déploiements Vercel seuls se chiffrent en millions.

Différence ? La profondeur d’automatisation. UAT-10608 ne s’arrête pas au RCE. C’est des moissonneurs d’identifiants sous stéroïdes, taillés pour le bordel cloud-native : K8s, Docker, rôles IAM. Une brèche cascade — mouvements latéraux, attaques supply chain.

Talos alerte sur les cauchemars de conformité. Jetons GitHub volés ? Prises de contrôle de repos. Clés AWS ? Factures explosives, dumps de données. Et ces creds de plateformes IA ? Injections de prompts à l’échelle.

Correctif. Audit. Pivot.

Mais l’architecture compte plus. Segmentez les secrets — vaults, pas variables d’environnement. Least privilege sur IAM. Scannez vos déploiements avec des outils à la Shodan maison.

Que faire si vous êtes touché par React2Shell ?

Assumez la brèche. Vérifiez les logs pour des payloads HTTP suspects. Chassez les C&C à la Nexus (Talos a partagé les IOC — utilisez-les). Pivot tout : SSH, cloud, DB, jetons auth.

Solution plus large ? Laissez tomber le SSR naïf pour de l’hybride. Rendez client-side les chemins sensibles. Scanners runtime en CI/CD.

Pronostic : les géants des frameworks (Vercel, équipe React) lâcheront des mandats d’auto-patching. Ou les procès les y forceront.


🧬 Analyses connexes

Questions fréquentes

Qu’est-ce que React2Shell ?

React2Shell (CVE-2025-55182) est une vulnérabilité critique de React dans les apps Next.js permettant un RCE non authentifié via des requêtes HTTP façonnées, menant au vol d’identifiants.

Comment corriger la vulnérabilité React2Shell ?

Mettez à jour Next.js et React vers les versions patchées immédiatement. Auditez les apps publiques avec Shodan/Censys. Pivot tous les identifiants exposés comme les clés SSH et jetons cloud.

Qu’a-t-on volé dans les attaques React2Shell ?

Clés privées SSH, jetons AWS/GCP, secrets GitHub, comptes de service Kubernetes, identifiants DB, clés de plateformes IA/paiement, historiques shell — plus de 10 000 fichiers sur 766 systèmes.

James Kowalski
Written by

Investigative tech reporter focused on AI ethics, regulation, and societal impact.

Worth sharing?

Get the best AI stories of the week in your inbox — no noise, no spam.

Originally reported by SecurityWeek