Vulnérabilités dans Node.js et libuv

Des mises à jour correctives de la plateforme serveur JavaScript Node.js 21.6.2, 20.11.1, 18.19.1 sont disponibles, corrigeant 8 vulnérabilités, dont 4 ont été classées comme ayant un niveau de danger élevé :

  • CVE-2024-21892 — possibilitĂ© pour un utilisateur non privilĂ©giĂ© d'injecter du code hĂ©ritĂ© de privilĂšges Ă©levĂ©s avec lesquels s'exĂ©cute le processus. La vulnĂ©rabilitĂ© est causĂ©e par une erreur dans la mise en Ɠuvre de l'exception, permettant au processus avec des privilĂšges Ă©levĂ©s de traiter les variables d'environnement dĂ©finies par un utilisateur non privilĂ©giĂ©. L'exception aurait dĂ» ĂȘtre rĂ©servĂ©e uniquement aux droits CAP_NET_BIND_SERVICE, mais en raison d'une erreur, s'applique Ă©galement Ă  certains autres privilĂšges.
  • CVE-2024-22019 — dĂ©ni de service via l'Ă©puisement des ressources disponibles (charge CPU et consommation de bande passante) lors du traitement de requĂȘtes chunked spĂ©cialement conçues par le serveur HTTP intĂ©grĂ©, entraĂźnant la lecture d'une quantitĂ© illimitĂ©e d'octets dans une seule connexion.
  • CVE-2024-21896 — dĂ©passement de la limite du rĂ©pertoire de base dans les chemins de fichiers. La vulnĂ©rabilitĂ© permet de contourner la normalisation des chemins de fichiers Ă  l'aide de path.resolve() en cas de passage d'un chemin utilisant la classe Buffer. Pour obtenir un tel chemin aprĂšs vĂ©rification, on appelle la mĂ©thode Buffer.from(), mais dans l'application, il peut y avoir un appel Ă  Buffer.prototype.utf8Write, entraĂźnant un remplacement du contenu aprĂšs l'exĂ©cution de path.resolve() et la survenue de la vulnĂ©rabilitĂ©.
  • CVE-2024-22017 — l'appel de setuid() ne rĂ©initialisait pas tous les privilĂšges. En particulier, setuid() n'affecte pas les opĂ©rations io_uring utilisĂ©es dans libuv, si elles ont Ă©tĂ© initialisĂ©es avant l'appel de setuid().
  • CVE-2023-46809 — vulnĂ©rabilitĂ© dans l'API privateDecrypt(), permettant de mener une attaque de Marvin pour dĂ©chiffrer RSA basĂ©e sur la mesure du temps des opĂ©rations.
  • CVE-2024-21891 — possibilitĂ© de contourner le modĂšle de droits d'accĂšs lors de l'utilisation de gestionnaires personnalisĂ©s pour la normalisation des chemins de fichiers.
  • CVE-2024-21890 — traitement incorrect des masques dans les paramĂštres «—allow-fs-read» et «—allow-fs-write». Par exemple, «—allow-fs-read=\/home\/node\/.ssh\/*.pub» entraĂźnera un accĂšs Ă  tout le contenu de «.ssh\/», et pas seulement aux fichiers avec l'extension «.pub», car le masque «*» est traitĂ© comme le dernier Ă©lĂ©ment du chemin.
  • CVE-2024-22025 — dĂ©ni de service par Ă©puisement des ressources lors du dĂ©codage de donnĂ©es compressĂ©es au format Brotli, reçues via un appel fetch().

On peut Ă©galement noter la sortie de la bibliothĂšque libuv 1.48.0, utilisĂ©e dans Node.js pour le multiplexage des connexions et le traitement asynchrone des entrĂ©es/sorties. En plus de Node.js, la bibliothĂšque est Ă©galement utilisĂ©e sur les serveurs DNS BIND 9 et Knot DNS, le serveur HTTP H2O, le framework Lua Luvit. une machine virtuelle MoarVM, le langage Julia et le framework Python uvloop. La nouvelle version corrige une vulnĂ©rabilitĂ© (CVE-2024-24806) affectant les projets utilisant libuv, permettant une attaque SSRF (Server-side request forgery) pour accĂ©der Ă  une API interne. La vulnĂ©rabilitĂ© Ă©tait due Ă  la troncature du nom d'hĂŽte par la fonction uv_getaddrinfo() Ă  256 caractĂšres Ă  l'Ă©tape avant la rĂ©solution de domaine par la fonction getaddrinfo(), ce qui peut conduire Ă  la dĂ©termination incorrecte adresses IP et Ă  contourner les vĂ©rifications. Par exemple, des services comme MySpace, qui crĂ©ent des sous-domaines sous la forme «username.example.com», peuvent ĂȘtre attaquĂ©s en spĂ©cifiant un long nom d'utilisateur.

Une mise Ă  jour de l'HTTP client utilisĂ© dans Node.js, undici 5.28.3, a Ă©galement Ă©tĂ© publiĂ©e, dans laquelle une vulnĂ©rabilitĂ© (CVE-2024-24758) a Ă©tĂ© corrigĂ©e, causĂ©e par l'absence de nettoyage de l'en-tĂȘte HTTP Proxy-Authorization lors de la redirection des requĂȘtes.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster