{"id":113646,"date":"2024-02-16T22:02:41","date_gmt":"2024-02-16T20:02:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/uyazvimosti-v-node-js-i-libuv"},"modified":"2024-02-16T22:02:41","modified_gmt":"2024-02-16T20:02:41","slug":"uyazvimosti-v-node-js-i-libuv","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/uyazvimosti-v-node-js-i-libuv","title":{"rendered":"Vuln\u00e9rabilit\u00e9s dans Node.js et libuv","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Des mises \u00e0 jour correctives de la plateforme serveur JavaScript Node.js 21.6.2, 20.11.1, 18.19.1 sont disponibles, corrigeant 8 vuln\u00e9rabilit\u00e9s, dont 4 ont \u00e9t\u00e9 class\u00e9es comme ayant un niveau de danger \u00e9lev\u00e9 :    <\/p>\n<ul>\n<li class=\"l\"> CVE-2024-21892 \u2014 possibilit\u00e9 pour un utilisateur non privil\u00e9gi\u00e9 de substituer du code h\u00e9rit\u00e9 de privil\u00e8ges \u00e9tendus avec lesquels un processus est ex\u00e9cut\u00e9. La vuln\u00e9rabilit\u00e9 est caus\u00e9e par une erreur dans l'impl\u00e9mentation de l'exception, permettant de manipuler des variables d'environnement d\u00e9finies par un utilisateur non privil\u00e9gi\u00e9 dans un processus \u00e0 privil\u00e8ges \u00e9tendus. L'exception aurait d\u00fb \u00eatre accord\u00e9e uniquement pour les droits CAP_NET_BIND_SERVICE, mais en raison d'une erreur, elle s'appliquait \u00e9galement \u00e0 d'autres droits (capabilities).\n<li class=\"l\"> CVE-2024-22019 \u2014 d\u00e9ni de service par \u00e9puisement des ressources disponibles (charge CPU et consommation de bande passante) lors du traitement de requ\u00eates chunked sp\u00e9cialement con\u00e7ues par le serveur HTTP int\u00e9gr\u00e9, entra\u00eenant la lecture d'un nombre illimit\u00e9 d'octets dans une seule connexion.\n<li class=\"l\"> CVE-2024-21896 \u2014 d\u00e9passement du r\u00e9pertoire de base dans les chemins de fichiers. La vuln\u00e9rabilit\u00e9 permet de contourner la normalisation des chemins de fichiers en utilisant path.resolve() lorsque le chemin est transmis \u00e0 l'aide de la classe Buffer. Pour obtenir un tel chemin, apr\u00e8s v\u00e9rification, la m\u00e9thode Buffer.from() est appel\u00e9e, mais l'application peut utiliser l'appel Buffer.prototype.utf8Write, entra\u00eenant un remplacement du contenu apr\u00e8s l'ex\u00e9cution de path.resolve() et la cr\u00e9ation d'une vuln\u00e9rabilit\u00e9.\n<li class=\"l\"> CVE-2024-22017 \u2014 l'appel \u00e0 setuid() ne r\u00e9initialisait pas tous les privil\u00e8ges. En particulier, setuid() n'affecte pas les op\u00e9rations io_uring utilis\u00e9es dans libuv si elles ont \u00e9t\u00e9 initialis\u00e9es avant l'appel \u00e0 setuid().\n<li class=\"l\"> CVE-2023-46809 \u2014 vuln\u00e9rabilit\u00e9 dans l'API privateDecrypt(), permettant une attaque Marvin pour le d\u00e9chiffrement RSA bas\u00e9 sur la mesure du temps des op\u00e9rations.\n<li class=\"l\"> CVE-2024-21891 \u2014 possibilit\u00e9 de contourner le mod\u00e8le d'acc\u00e8s lors de l'utilisation de gestionnaires personnalis\u00e9s pour la normalisation des chemins de fichiers.\n<li class=\"l\"> CVE-2024-21890 \u2014 traitement incorrect des masques dans les param\u00e8tres \u00ab \u2014allow-fs-read \u00bb et \u00ab \u2014allow-fs-write \u00bb. Par exemple, \u00ab \u2014allow-fs-read=\/home\/node\/.ssh\/*.pub \u00bb accordera acc\u00e8s \u00e0 tout le contenu de \u00ab .ssh\/ \u00bb, et pas seulement aux fichiers avec l'extension \u00ab .pub \u00bb, car le masque \u00ab * \u00bb est trait\u00e9 comme le dernier \u00e9l\u00e9ment du chemin.\n<li class=\"l\"> CVE-2024-22025 \u2014 d\u00e9ni de service par \u00e9puisement des ressources lors du d\u00e9codage de donn\u00e9es compress\u00e9es au format Brotli, obtenues via un appel \u00e0 fetch().          <\/ul>\n<p>On peut \u00e9galement noter la sortie de la biblioth\u00e8que libuv 1.48.0, utilis\u00e9e dans Node.js pour le multiplexage des connexions et le traitement asynchrone des entr\u00e9es\/sorties. En plus de Node.js, la biblioth\u00e8que est \u00e9galement utilis\u00e9e sur les serveurs DNS BIND 9 et Knot DNS, le serveur HTTP H2O, le framework Lua Luvit.  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/vps\/abuzoustojchivye-vps\/\"   title=\"une machine virtuelle\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4302\">une machine virtuelle<\/a> MoarVM, le langage Julia et le framework Python uvloop. La nouvelle version corrige une vuln\u00e9rabilit\u00e9 (CVE-2024-24806) affectant les projets utilisant libuv, permettant une attaque SSRF (Server-side request forgery) pour acc\u00e9der \u00e0 une API interne. La vuln\u00e9rabilit\u00e9 \u00e9tait due \u00e0 la troncature du nom d'h\u00f4te par la fonction uv_getaddrinfo() \u00e0 256 caract\u00e8res \u00e0 l'\u00e9tape avant la r\u00e9solution de domaine par la fonction getaddrinfo(), ce qui peut conduire \u00e0 la d\u00e9termination incorrecte <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/lir\/ipv4\/\"   title=\"adresses IP\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"665\">adresses IP<\/a> et de contournement de v\u00e9rifications. Par exemple, des services comme MySpace, qui cr\u00e9ent des sous-domaines du type \u00ab username.example.com \u00bb, peuvent \u00eatre attaqu\u00e9s en sp\u00e9cifiant un long nom d'utilisateur.      <\/p>\n<p>Une mise \u00e0 jour de l'HTTP client utilis\u00e9 dans Node.js, undici 5.28.3, a \u00e9galement \u00e9t\u00e9 publi\u00e9e, dans laquelle une vuln\u00e9rabilit\u00e9 (CVE-2024-24758) a \u00e9t\u00e9 corrig\u00e9e, caus\u00e9e par l'absence de nettoyage de l'en-t\u00eate HTTP Proxy-Authorization lors de la redirection des requ\u00eates.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60612\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 21.6.2, 20.11.1, 18.19.1, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e 8 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 4 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438: CVE-2024-21892 &#8212; \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0435\u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043a\u043e\u0434\u0430, \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441. \u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u044b\u0437\u0432\u0430\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u044f\u043c\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0435\u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c. \u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-113646","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 21.6.2, 20.11.1, 18.19.1, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e 8 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 4 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438: CVE-2024-21892 -.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/uyazvimosti-v-node-js-i-libuv\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 Node.js \u0438 libuv | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 21.6.2, 20.11.1, 18.19.1, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e 8 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 4 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438: CVE-2024-21892 -.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/uyazvimosti-v-node-js-i-libuv\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-02-16T20:02:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-02-16T20:02:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vuln\u00e9rabilit\u00e9s dans Node.js et libuv | ProHoster","description":"Des versions de correction de la plateforme JavaScript serveur Node.js 21.6.2, 20.11.1, 18.19.1 sont disponibles, corrigeant 8 vuln\u00e9rabilit\u00e9s, dont 4 class\u00e9es \u00e0 un niveau de danger \u00e9lev\u00e9 : CVE-2024-21892.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/uyazvimosti-v-node-js-i-libuv","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 Node.js \u0438 libuv | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 21.6.2, 20.11.1, 18.19.1, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e 8 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 4 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438: CVE-2024-21892 -.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/uyazvimosti-v-node-js-i-libuv","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-02-16T20:02:41+00:00","article:modified_time":"2024-02-16T20:02:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"113646","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-08 20:23:59","updated":"2026-02-08 20:23:59","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/113646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=113646"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/113646\/revisions"}],"predecessor-version":[{"id":164177,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/113646\/revisions\/164177"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=113646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=113646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=113646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}