Des chercheurs ont découvert une campagne qui a compromis plus de 59 000 serveurs Next.js exposés sur Internet en moins de 48 heures, signalant une dangereuse escalade du vol automatisé d’identifiants.
Baptisée opération PCPcat, cette campagne exploite des vulnérabilités critiques dans une infrastructure web populaire basée sur React afin de récupérer des identifiants cloud à très grande échelle.
« Voilà à quoi ressemble l’exploitation industrialisée », a écrit le chercheur en sécurité Mario Candela dans son analyse.
59 000 serveurs compromis en quelques heures
Selon l’enquête de Candela, PCPcat a analysé plus de 91 000 déploiements Next.js publics en environ 33 heures et en a compromis avec succès 59 128, soit un taux de réussite de 64,6 %.
Les attaquants ont exploité deux vulnérabilités critiques, référencées sous les identifiants CVE-2025-29927 et CVE-2025-66478, qui permettent toutes deux l’exécution de code à distance (RCE) lorsqu’elles ne sont pas corrigées.
Les environnements concernés comprennent des serveurs web de production, des systèmes de développement et des applications hébergées dans le cloud sur AWS, Azure et Google Cloud.
Une fois compromis, les systèmes ont servi de nœuds de récupération d’identifiants, extrayant des secrets de fichiers d’environnement, de configurations SSH, de coffres d’identifiants de fournisseurs cloud, de jetons Docker, de dépôts Git et d’historiques de commandes shell.
Cette approche laisse penser que les attaquants privilégiaient l’accès à long terme, les déplacements latéraux dans le cloud et la revente d’identifiants plutôt qu’une simple perturbation.
La chaîne d’exploitation de PCPcat
PCPcat s’appuie sur un composant malveillant écrit en Python, react.py, qui recherche sur les serveurs Next.js exposés des conditions exploitables liées à des failles de pollution de prototype.
En injectant des charges JSON spécialement conçues, les attaquants manipulent les objets de l’application et exécutent des commandes au niveau du système via les fonctions de processus enfants de Node.js.
La réussite de l’exploitation est d’abord validée par une simple commande id avant de passer à la collecte complète des identifiants.
Après l’extraction des données, les hôtes compromis téléchargent une charge utile secondaire depuis l’infrastructure des attaquants, laquelle installe plusieurs mécanismes de persistance.
Il s’agit notamment de services proxy SOCKS5 utilisant GOST, de tunnels inversés FRP pour permettre l’accès entrant et de services systemd qui garantissent la survie du logiciel malveillant après les redémarrages.
La télémétrie des pots de miel a également révélé l’exploitation d’API Docker exposées, permettant aux attaquants d’établir, lorsque cela était possible, une persistance basée sur des conteneurs.
Failles de sécurité opérationnelle de PCPcat
L’un des aspects les plus alarmants de PCPcat est l’échec des attaquants en matière de sécurité opérationnelle. Le principal serveur de commande et de contrôle de la campagne exposait une API non authentifiée qui divulguait publiquement des métriques opérationnelles.
Grâce à un point de terminaison /stats, les chercheurs ont confirmé en temps réel le nombre de cibles analysées, de compromissions réussies et les activités de pilotage.
D’autres points de terminaison géraient la répartition des cibles, l’exfiltration des données et les contrôles d’état, fournissant de fait un tableau de bord en direct de l’attaque.
Cette visibilité a permis aux chercheurs de confirmer non seulement l’ampleur de la campagne, mais aussi son automatisation, son traitement par lots et la poursuite de ses activités.
Renforcer la sécurité des environnements applicatifs cloud
Les organisations qui exécutent des applications Next.js et React doivent considérer les services et identifiants exposés comme des risques potentiels, en particulier dans les environnements cloud et conteneurisés.
Une réduction efficace des risques nécessite une coordination des correctifs, de la gestion des identifiants, du renforcement de la sécurité à l’exécution et de la surveillance continue des couches applicative et infrastructurelle.
- Appliquer les correctifs immédiatement pour CVE-2025-29927 et CVE-2025-66478, et limiter l’exposition publique des applications Next.js et React aux seuls services nécessaires.
- Renouveler tous les identifiants potentiellement exposés et migrer les secrets des fichiers .env vers des plateformes de gestion des secrets utilisant des identités à durée de vie courte et dotées du moindre privilège.
- Bloquer les infrastructures de commande et de contrôle connues et mettre en place des contrôles du trafic sortant pour détecter ou empêcher les exfiltrations et tunnels non autorisés.
- Surveiller les mécanismes de persistance post-exploitation, notamment les services systemd non autorisés, les processus proxy, la création de conteneurs et les comportements inattendus à l’exécution.
- Renforcer la sécurité des environnements applicatifs et d’exécution en limitant les privilèges des processus Node.js, en désactivant l’exécution inutile de processus enfants et en imposant une exécution sans privilèges root.
- Renforcer les capacités de détection et de réponse grâce à une surveillance continue, à l’audit de l’IAM cloud et à des procédures de réponse aux incidents axées sur le vol d’identifiants.
Ensemble, ces mesures contribuent à réduire les risques et à renforcer les contrôles de sécurité dans les piles applicatives modernes.
Le virage vers les attaques ciblant l’infrastructure
L’opération PCPcat souligne une évolution plus large du paysage des menaces : les attaquants cherchent de plus en plus à compromettre l’infrastructure applicative pour récupérer systématiquement des identifiants, plutôt qu’à perturber les opérations par le défigurage de sites ou les rançongiciels.
Cette approche privilégie la furtivité, l’échelle et l’accès à long terme, permettant aux attaquants de monétiser les identifiants volés dans plusieurs environnements tout en passant souvent inaperçus.
Cette évolution souligne l’importance croissante de la sécurité de la chaîne d’approvisionnement logicielle dans les environnements modernes.





