Faille dans Node.js : ce qu'il faut faire maintenant
Le 21 octobre, le projet Node.js a publié une mise à jour de sécurité pour dix failles. La plus grave, CVE-2026-111497, se trouve dans la partie qui décompresse les données compressées avec Brotli. Avec des données spécialement conçues, un attaquant peut y écrire en dehors de la mémoire prévue. Cela peut faire planter un programme, divulguer de la mémoire ou, dans le pire des cas, exécuter le code de l'attaquant. La faille touche toutes les versions de Node.js prises en charge et toutes les plus anciennes. Les versions 22.23.4, 24.22.1 et 26.12.1 la corrigent.
Pourquoi cela va plus loin qu'il n'y paraît
Node.js fait tourner de nombreuses applications web, API, portails clients et outils internes, ainsi que beaucoup d'outils de développement et d'IA. Vous n'avez pas besoin d'utiliser Brotli vous-même pour être concerné. Brotli est une façon courante de réduire le trafic web, et la fonction fetch intégrée de Node.js décompresse automatiquement ces réponses. Si votre application récupère quelque chose depuis une adresse contrôlée par quelqu'un d'autre, cela peut déjà suffire.
De plus, Node.js n'est souvent pas mis à jour automatiquement sur un serveur. S'il a été installé depuis une source de paquets séparée ou par un script d'installation, il reste sur cette version jusqu'à ce que quelqu'un le mette à jour volontairement. Les mises à jour de sécurité automatiques du système d'exploitation ne l'incluent généralement pas.
Ce qu'il faut faire maintenant
- Repérez ce qui tourne sur Node.js chez vous : votre site ou application web, un portail client, les liaisons entre systèmes et les serveurs où travaillent des développeurs ou des agents IA. Pas sûr ? Demandez à votre développeur web ou à votre prestataire informatique.
- Passez à 22.23.4, 24.22.1 ou 26.12.1 selon la version que vous utilisez. Si vous utilisez une version qui n'est plus prise en charge, aucun correctif ne viendra : passez à une version prise en charge.
- Vérifiez ensuite quelle version tourne réellement. Un paquet mis à jour ne change rien tant que l'ancien processus tourne encore ; la nouvelle version ne tourne qu'après un redémarrage.
- Vérifiez si des processus Node.js ont planté de façon inattendue depuis début octobre. Une attaque ratée laisse souvent un plantage derrière elle. Si vous en trouvez un, faites appel à quelqu'un qui s'y connaît.
- Notez ce que vous avez fait et quand. Si votre organisation relève de NIS2, ou si un client demande une preuve de votre sécurité, vous l'aurez sous la main.
Et Stilops
Stilops tourne sur Node.js, et nos agents récupèrent des pages web pour leur travail. Nous étions donc concernés. Le jour où nous avons vu la faille, nous avons fait en sorte que chaque déploiement passe d'abord Node.js à la version corrigée, et que les machines sur lesquelles travaillent les agents soient reconstruites avec cette version. Notre environnement de test récupère désormais toujours la dernière version.
Nous avons ensuite cherché des traces d'abus. Nous n'avons trouvé aucun plantage inattendu de Stilops depuis le 8 octobre, aussi loin que remontent nos journaux, ni aucun fichier de plantage. L'absence de traces ne prouve pas qu'il ne s'est rien passé, mais c'est ce que l'on peut mesurer. Nous continuons à surveiller.