Information de sécurité : bibliothèques npm ‘colors’ et ‘faker’

information de securite colors et faker 2
Il y a quelques jours, Marak Squires, le développeur en charge des bibliothèques npm 'colors' et 'faker', a décidé de saboter les bibliothèques, pour dénoncer des problèmes dans le système de financement des projets open-source.

Il y a quelques jours, Marak Squires, le développeur en charge des bibliothèques npm ‘colors‘ et ‘faker‘, a décidé de saboter les bibliothèques, pour dénoncer des problèmes dans le système de financement des projets open-source.

L’infinite loop introduite par le développeur a impacté plusieurs applications utilisant ces bibliothèques en affichant le texte “LIBERTY LIBERTY LIBERTY” et des caractères non ASCII dans les logs des applications.

Cela cause beaucoup de problèmes, car la bibliothèque ‘colors’ reçoit plus de 20 millions de téléchargements par semaine sur npm uniquement et a près de 19 000 projets qui en dépendent. Quant à ‘faker’, la bibliothèque reçoit plus de 2,8 millions de téléchargements par semaine sur npm, et a plus de 2 500 projets qui en dépendent.

Caractères non ASCII trouvés dans les logs d’applications utilisant la bibliothèque npm ‘color’.

Comment vérifier sur votre app Node/js est impactée ?

Tout d’abord, la première chose à faire est de vérifier si votre application utilise les bibliothèques npm ‘colors’ et ‘faker’. Pour ce faire, exécutez une des 2 commandes suivantes :


npm ls colors

Ou


npm ls faker

Ensuite, vous devriez obtenir un résultat de ce type :


my-project@1.2.3 /home/me/my-project
├─┬ @storybook/addon-docs@5.3.18
│ └─┬ vue-docgen-loader@1.5.0
│   └─┬ jscodeshift@0.7.0
│     └── colors@1.4.0  deduped
├─┬ @storybook/vue@5.3.18
│ └─┬ @storybook/core@5.3.18
│   └─┬ cli-table3@0.5.1
│     └── colors@1.4.0  deduped
└── colors@1.4.0

Puis, avec ce résultat, nous pouvons donc identifier que ce projet utilise ‘colors’ directement avec la version 1.4.0 et à travers des dépendances transitives, également dans la version 1.4.0.

Votre app utilise ‘colors’ ou ‘faker’, que pouvez-vous faire ?

Si votre application utilise l’une de ces bibliothèques npm, nous vous invitons à vérifier trois choses :

Vérifier la version

Tout d’abord, vous devez vérifier si vous utilisez l’une des versions impactées de ces bibliothèques :

  • colors: 1.4.1, 1.4.2, et 1.4.44-liberty-2
  • faker: 6.6.6

Vérifier le package-lock.json

Avez-vous un package-lock.json ? Si ce n’est pas le cas, nous vous invitons à lire la documentation et à en ajouter un à votre projet.

Si c’est le cas, vous devez forcer une version qui n’est pas impactée (1.4.0 pour ‘colors’ et 5.5.3 pour ‘faker’). Vous utilisez npm ? Essayez avec le module npm-force-resolutions. Vous utilisez Yarn ? Utilisez le processus décrit dans cette documentation.

Mettez vos outils à jour vers leur dernière version

Enfin, nous vous invitons également à vérifier si les dépendances que vous utilisez ont publié une mise à jour. Par exemple, si vous utilisez Storybook, la v6.4.10 publiée hier corrige le problème.

Une note pour les utilisateurs de Clever Tools

Enfin, si vous utilisez les clever-tools, et que vous les avez installés via npm, mettez-les à jour avec la v2.8.1.

Blog

À lire également

Sōzu 2.0 : du reverse proxy à l’edge programmable

Sōzu est le reverse proxy placé devant chaque application qui s'exécute sur Clever Cloud. Après dix-huit mois de travaux — d'abord le multiplexer HTTP/2, bâti sur kawa, notre format pivot déjà en place, puis la quasi-totalité des couches du proxy, et enfin une mise à l'épreuve en production sur les load balancers de cleverapps.io —, Sōzu 2.0 est disponible.
Engineering

K3s vs K8s : quelles différences et lequel choisir en 2026 ?

Kubernetes s'est imposé comme le standard de l'orchestration de conteneurs. Mais selon les contraintes de votre infrastructure (ressources limitées, edge computing, IoT ou clusters entreprise à grande échelle), la distribution que vous choisissez change radicalement la donne. K3s et K8s (le Kubernetes originel) répondent à des besoins distincts, même si les deux partagent la même base certifiée CNCF.
Engineering Fonctionnalités

Advanced Deployments : Clever Cloud lance une deuxième certification

Clever Cloud annonce le lancement d’Advanced Deployments, sa nouvelle certification officielle consacrée aux déploiements avancés sur sa plateforme.
Entreprise