{"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\/hr\/blog\/news\/uyazvimosti-v-node-js-i-libuv","title":{"rendered":"Ranljivosti u Node.js i libuv","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dostupne su ispravke serverne JavaScript platforme Node.js 21.6.2, 20.11.1, 18.19.1, koje ispravljaju 8 ranjivosti, od kojih su 4 klasificirane kao visoko rizi\u010dne:    <\/p>\n<ul>\n<li class=\"l\"> CVE-2024-21892 \u2014 mogu\u0107nost ubacivanja koda koji naslje\u0111uje pro\u0161irene privilegije od strane neprivilegiranog korisnika tijekom izvr\u0161avanja radnog procesa. Ranljivost je uzrokovana gre\u0161kom u implementaciji izuzetka koja dopu\u0161ta neprivilegiranim korisnicima da obra\u0111uju varijable okru\u017eenja tijekom procesa s pro\u0161irenim privilegijama. Izuzetak je trebao biti odobren samo za ovlasti CAP_NET_BIND_SERVICE, ali zbog gre\u0161ke primjenjivao se i na odre\u0111ene druge ovlasti.\n<li class=\"l\"> CVE-2024-22019 \u2014 uskra\u0107ivanje usluge zbog iscrpljenja dostupnih resursa (optere\u0107enje CPU-a i potro\u0161nja propusnosti) prilikom obrade posebno oblikovanih chunked-zahtjeva od strane ugra\u0111enog HTTP poslu\u017eitelja, \u0161to vodi do \u010ditanja neograni\u010denog broja bajtova u jednoj vezi.\n<li class=\"l\"> CVE-2024-21896 \u2014 prekora\u010denje osnovnog direktorija u putanjama datoteka. Ranljivost omogu\u0107ava zaobila\u017eenje normalizacije putanja datoteka putem path.resolve() kada se putanja proslijedi koriste\u0107i klasu Buffer. Da bi se dobila takva putanja nakon provjere, poziva se metoda Buffer.from(), ali aplikacija mo\u017ee koristiti poziv Buffer.prototype.utf8Write, \u0161to dovodi do zamjene sadr\u017eaja nakon izvr\u0161avanja path.resolve() i nastanka ranjivosti.\n<li class=\"l\"> CVE-2024-22017 \u2014 poziv setuid() ne resetira sve privilegije. Konkretno, setuid() ne utje\u010de na operacije io_uring koje koristi libuv, ako su inicijalizirane prije poziva setuid().\n<li class=\"l\"> CVE-2023-46809 \u2014 ranjivost u API-ju privateDecrypt() koja omogu\u0107ava kori\u0161tenje Marvin napada za de\u0161ifriranje RSA na temelju mjerenja vremena operacija.\n<li class=\"l\"> CVE-2024-21891 \u2014 mogu\u0107nost zaobila\u017eenja modela pristupa prilikom kori\u0161tenja korisni\u010dkih obrada normalizacije putanja datoteka.\n<li class=\"l\"> CVE-2024-21890 \u2014 neto\u010dno rukovanje maskama u parametrima \u201e\u2014allow-fs-read\u201d i \u201e\u2014allow-fs-write\u201d. Na primjer, \u201e\u2014allow-fs-read=\/home\/node\/.ssh\/*.pub\u201d \u0107e omogu\u0107iti pristup svim sadr\u017eajima \u201e.ssh\/\u201d, a ne samo datotekama s ekstenzijom \u201e.pub\u201d, budu\u0107i da se maska \u201e*\u201d obra\u0111uje kao posljednji element putanje.\n<li class=\"l\"> CVE-2024-22025 \u2014 uskra\u0107ivanje usluge zbog potro\u0161nje resursa prilikom dekodiranja komprimiranih podataka u Brotli formatu, dobivenih putem poziva fetch().          <\/ul>\n<p>Tako\u0111er se mo\u017ee napomenuti oblikovanje izdanja biblioteke libuv 1.48.0, koja se koristi u Node.js za multiplexing veza i asinkrono procesiranje ulaza\/izlaza. Osim Node.js, biblioteka se tako\u0111er koristi na DNS poslu\u017eiteljima BIND 9 i Knot DNS, HTTP poslu\u017eitelju H2O, Lua okviru Luvit,  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hr\/vps\/abuzoustojchivye-vps\/\"   title=\"virtualnoj ma\u0161ini\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4302\">virtualnoj ma\u0161ini<\/a> MoarVM, jeziku Julia i Python okviru uvloop. U novoj verziji ispravljena je ranjivost (CVE-2024-24806), koja se o\u010dituje u projektima koji koriste libuv, a omogu\u0107ava napad SSRF (Server-side request forgery) za dobivanje pristupa unutarnjem API-ju. Ranjivost je nastala zbog skra\u0107ivanja imena hosta funkcijom uv_getaddrinfo() na 256 znakova u fazi prije rezolucije domene putem funkcije getaddrinfo(), \u0161to mo\u017ee dovesti do definiranja neto\u010dnog <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hr\/lir\/ipv4\/\"   title=\"IP adrese\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"665\">IP adrese<\/a> i zaobi\u0161li provjere. Na primjer, usluge poput MySpacea, koje stvaraju poddomene poput &#171;username.example.com&#187;, mogu se napasti putem navo\u0111enja dugog korisni\u010dkog imena.      <\/p>\n<p>Tako\u0111er je objavljeno a\u017euriranje HTTP klijenta undici 5.28.3, kori\u0161tenog u Node.js, u kojem je ispravljena ranjivost (CVE-2024-24758), uzrokovana nedostatkom \u010di\u0161\u0107enja HTTP zaglavlja Proxy-Authorization prilikom preusmjeravanja zahtjeva.<br \/>\n<br \/>Izvor: <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.4 - 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\/hr\/blog\/news\/uyazvimosti-v-node-js-i-libuv\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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\/hr\/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\udd47 Ranjivosti u Node.js i libuv | ProHoster","description":"Dostupni su ispravni izdanja server-side JavaScript platforme Node.js 21.6.2, 20.11.1, 18.19.1, u kojima je ispravljeno 8 ranjivosti, od kojih su 4 ozna\u010dene kao visoko opasne: CVE-2024-21892 -.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/news\/uyazvimosti-v-node-js-i-libuv","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/113646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=113646"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/113646\/revisions"}],"predecessor-version":[{"id":164177,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/113646\/revisions\/164177"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=113646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=113646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=113646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}