Corriger les vulnérabilités de Node.js dans Ubuntu
Node.js est un environnement d'exécution JavaScript open-source et multiplateforme basé sur le puissant moteur V8 de Chrome. Il permet d'exécuter du code JavaScript en dehors d'un navigateur web, ce qui le rend populaire pour la création d'applications en temps réel et de services de flux de données. Toutefois, comme tout logiciel, il n'est pas à l'abri des failles de sécurité. Récemment, plusieurs vulnérabilités ont été découvertes dans Node.js, qui pourraient conduire au contournement des mécanismes de politique ou à l'escalade des privilèges. Heureusement, ces vulnérabilités ont été corrigées dans les récentes mises à jour de sécurité d'Ubuntu.
Vulnérabilités de Node.js corrigées dans la dernière mise à jour
CVE-2023-32002
Le Module._load()
s'est avérée capable de contourner le mécanisme de politique et d'exiger des modules en dehors des définitions fournies dans le fichier policy.json pour un module donné. Cette vulnérabilité affecte tous les utilisateurs qui utilisent le mécanisme de politique dans toutes les versions actives de Node.js : 16.x, 18.x, et 20.x. Un attaquant pourrait exploiter cette vulnérabilité en trompant un utilisateur ou un système automatisé en ouvrant un fichier d'entrée spécialement conçu, contournant ainsi le mécanisme de politique.
CVE-2023-32006
Comme dans le cas de CVE-2023-32002, le fichier module.constructor.createRequire()
peut également contourner le mécanisme de politique, permettant l'exigence de modules en dehors des définitions policy.json. Cette vulnérabilité affecte tous les utilisateurs utilisant le mécanisme de politique dans les versions 16.x, 18.x et 20.x de Node.js. Si un utilisateur ou un système automatisé ouvre un fichier d'entrée spécialement conçu, un attaquant distant peut exploiter ce problème pour contourner le mécanisme de politique.
CVE-2023-32559
Une vulnérabilité d'élévation de privilèges existe dans Node.js, affectant toutes les versions actives (16.x, 18.x, et 20.x). L'API dépréciée process.binding()
peut être utilisé pour contourner le mécanisme de politique en exigeant des modules internes, ce qui permet en fin de compte d'exploiter le système d'information de l'UE. process.binding('spawn_sync')
d'exécuter du code arbitraire en dehors des limites définies dans un fichier policy.json.
CVE-2023-30590
La documentation de Node.js décrit incorrectement la fonction generateKeys(), conduisant à des problèmes de sécurité potentiels dans les applications utilisant ces API. Cette vulnérabilité, bien qu'elle ne soit pas directement exploitable comme les autres, pourrait amener les développeurs à mettre en œuvre des solutions non sécurisées basées sur une documentation incorrecte.
CVE-2023-23920
Node.js traite certaines entrées de manière incorrecte, ce qui entraîne une vulnérabilité au niveau du chemin de recherche. Cette faille pourrait permettre à un attaquant de rechercher et potentiellement de charger des données ICU alors qu'il s'exécute avec des privilèges élevés.
Atténuer les risques
L'équipe de sécurité d'Ubuntu a publié des mises à jour pour corriger les vulnérabilités de Node.js dans diverses versions d'Ubuntu, notamment 23.10, 22.04 LTS, 20.04 LTS et 18.04 ESM. Pour protéger votre environnement Node.js, il est essentiel de mettre à jour votre installation Node.js avec la dernière version disponible. S'assurer que votre installation Node.js est à jour vous protège non seulement contre ces vulnérabilités spécifiques, mais aussi contre tout autre problème de sécurité découvert à l'avenir.
Conclusion
Node.js est un outil puissant pour les développeurs, mais comme toute technologie, il nécessite une maintenance et des mises à jour régulières pour rester sécurisé. Les récentes vulnérabilités découvertes et corrigées par l'équipe de sécurité d'Ubuntu soulignent l'importance de rester vigilant et proactif dans la gestion des logiciels. En mettant rapidement à jour vos installations Node.js, vous pouvez protéger vos applications et vos systèmes contre une exploitation potentielle et maintenir un système sûr et résilient.
En outre, envisagez d'utiliser le live patching pour protéger vos systèmes Ubuntu sans temps d'arrêt. Contrairement aux méthodes traditionnelles, le live patching permet d'appliquer des correctifs de sécurité critiques à un noyau en cours d'exécution sans redémarrage. Cette approche se traduit par un temps d'arrêt minimal pour votre système, garantissant son fonctionnement continu tout en améliorant son niveau de sécurité.
KernelCare Enterprise de TuxCare offre des correctifs automatisés en direct pour toutes les principales distributions Linux, y compris Ubuntu, Debian, RHEL, CentOS, AlmaLinux, Rocky Linux, Oracle Linux, Amazon Linux, et bien d'autres encore.
Envoyez vos questions relatives aux correctifs à un expert en sécurité de TuxCare pour en savoir plus sur la modernisation de votre approche des correctifs pour Linux.
Source : USN-6822-1, USN-6735-1