Une librairie de Node.js contient une faille d’injection de code

0

Une librairie de Node.js très populaire a une vulnérabilité importante d’injection de commande qui a été révélée le mois dernier.

Identifié comme CVE-2021-21315, le bug affecte le composant npm « systeminformation » qui est téléchargé environ 800 000 fois par semaine et compte près de 34 millions de téléchargements à ce jour depuis sa création.

Le bug d’injection de commande de la librairie de Node.js a été patché

En d’autres termes, « systeminformation » est une librairie légère de Node.js que les développeurs peuvent inclure dans leur projet pour récupérer les informations système liées au CPU, au matériel, à la batterie, au réseau, aux services et au processus de système.

Selon le développeur du projet, les développeurs sont censés utiliser « systeminformation » dans le backend.

« Node.js est livré avec quelques informations de base du système d’exploitation, mais j’ai toujours voulu un peu plus. Alors j’ai écris cette petite librairie.

« Cette librairie est encore en train d’évoluer. Elle est censée être utilisé comme une librairie backend/côté serveur (ne fonctionnera certainement pas dans un navigateur) », déclare le développeur derrière le composant.

Toutefois, la présence de la faille d’injection de code dans « systeminformation » signifiait qu’un pirate informatique pouvait exécuter les commandes du système en injectant soigneusement la charge utile dans les paramètres insalubres utilisés par le composant.

Le correctif ci-dessous qui est entré dans la version 5.3.1 de « systeminformation » assainit les paramètres, vérifie s’ils sont du type de données de chaîne de caractère et aussi si la pollution de prototype s’est produite à un moment par le paramètre, avant d’invoquer d’autres commandes.

node.js systeminformation

Les utilisateurs de « systeminformation » devraient passer à la version 5.3.1 ou une version ultérieure pour résoudre la vulnérabilité CVE-2021-21315 dans leur application.

Une mitigation est aussi disponible

Pour les développeurs qui ne sont pas en mesure de passer à la version corrigée, l’éditeur du projet a partagé des informations sur une solution de contournement qui peut être adopté à la place.

Cela implique à nouveau de nettoyer les paramètres pour se débarrasser des caractères incriminés et de valider correctement si le type de données est une chaîne de caractère.

« Comme solution de contournement à la place de la mise à niveau, assurez-vous de vérifier ou d’assainir les paramètres de service qui sont transmis à si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() … ne permettez que les chaînes de caractères, rejeter tous les tableaux. L’assainissement des chaines de caractères fonctionne comme prévu », peut-on lire dans l’avis de sécurité de npm.

Les développeurs de Node.js sont encouragés à s’assurer que leurs applications assainissent correctement les entrées de l’utilisateur avant de les utiliser dans les commandes et les requêtes de base de données.

Les utilisateurs doivent également consulter périodiquement les avis de sécurité de npm pour obtenir des informations sur les dernières corrections de sécurité apportées aux composants Node.js.

Si cet article vous a plu, jetez un œil à notre article précédent.

Laisser un commentaire

Votre adresse email ne sera pas publiée.