Dobësitë në Node.js dhe libuv

Në dispozicion janë lëshime korrigjuese për platformën serverike Node.js 21.6.2, 20.11.1, 18.19.1, ku janë rregulluar 8 dobësi, prej të cilave 4 u janë caktuar nivel të lartë rreziku:

  • CVE-2024-21892 — mundĂ«sia e injektimit tĂ« kodit nga pĂ«rdorues tĂ« paprivilegjuar, duke trashĂ«guar privilegjet e zgjeruara me tĂ« cilat ekzekutohet procesi. DobĂ«sia shkaktohet nga njĂ« gabim nĂ« implementimin e pĂ«rjashtimit, duke lejuar qĂ« gjatĂ« procesit me privilegje tĂ« zgjeruara tĂ« trajtohen variabla ambienti tĂ« vendosur nga njĂ« pĂ«rdorues i paprivilegjuar. PĂ«rjashtimi duhej tĂ« jepet vetĂ«m pĂ«r kĂ«to privilegje CAP_NET_BIND_SERVICE, por pĂ«r shkak tĂ« gabimit u aplikua edhe pĂ«r disa privilegje tĂ« tjera.
  • CVE-2024-22019 — refuzimi i shĂ«rbimit pĂ«rmes shterimit tĂ« burimeve tĂ« disponueshme (ngarkesa nĂ« CPU dhe konsumimi i bandĂ«s) gjatĂ« trajtimit nga serveri HTTP i integruar tĂ« kĂ«rkesave tĂ« formuara posaçërisht chunked, duke çuar nĂ« leximin e njĂ« sasie tĂ« pakufizuar bytes nĂ« njĂ« lidhje.
  • CVE-2024-21896 — kalimi jashtĂ« kufijve tĂ« katalogut bazĂ« nĂ« rrugĂ«t e skedarĂ«ve. DobĂ«sia lejon rrethimin e normalizimit tĂ« rrugĂ«ve tĂ« skedarĂ«ve pĂ«rmes path.resolve() kur diçka kalon rrugĂ«n duke pĂ«rdorur klasĂ«n Buffer. PĂ«r tĂ« marrĂ« njĂ« rrugĂ« tĂ« tillĂ« pas verifikimit, thirret metoda Buffer.from(), por nĂ« aplikacion mund tĂ« pĂ«rdoret thirrja Buffer.prototype.utf8Write, duke çuar nĂ« zĂ«vendĂ«simin e pĂ«rmbajtjes pas ekzekutimit tĂ« path.resolve() dhe duke çuar nĂ« dobĂ«si.
  • CVE-2024-22017 — thirrja e setuid() nuk e rikthen tĂ« gjitha privilegjet. NĂ« veçanti, setuid() nuk ndikon nĂ« operacionet io_uring, tĂ« pĂ«rdorura nĂ« libuv, nĂ«se ato janĂ« inicializuar para thirrjes setuid().
  • CVE-2023-46809 — dobĂ«si nĂ« API privateDecrypt(), e cila lejon aplikimin e sulmit Marvin pĂ«r dekriptuar RSA bazuar nĂ« matjen e kohĂ«s sĂ« operacioneve.
  • CVE-2024-21891 — mundĂ«sia pĂ«r tĂ« rrethuar modelin e tĂ« drejtave tĂ« aksesit gjatĂ« pĂ«rdorimit tĂ« procesuesve tĂ« personalizuar pĂ«r normalizimin e rrugĂ«ve tĂ« skedarĂ«ve.
  • CVE-2024-21890 — trajtimi jo korrekt i maskave nĂ« parametrat "—allow-fs-read" dhe "—allow-fs-write". PĂ«r shembull, "—allow-fs-read=\/home\/node\/.ssh\/*.pub" do tĂ« çojĂ« nĂ« dhĂ«nien e aksesit nĂ« tĂ« gjithĂ« pĂ«rmbajtjen e ".ssh\/", dhe jo vetĂ«m nĂ« skedarĂ«t me zgjerimin ".pub", pasi maska "*" trajtohet si elementi i fundit nĂ« rrugĂ«.
  • CVE-2024-22025 — shĂ«rbimi i refuzuar pĂ«r shkak tĂ« shpenzimit tĂ« burimeve gjatĂ« dekodimit tĂ« tĂ« dhĂ«nave tĂ« kompresuara nĂ« formatin Brotli, tĂ« marra pĂ«rmes thirjes fetch().

Gjithashtu, mund të theksohet krijimi i versionit të bibliotekës libuv 1.48.0, e cila përdoret në Node.js për shumëkërkimin e lidhjeve dhe përpunimin asinkron të input/output. Përveç Node.js, biblioteka përdoret gjithashtu në serverët DNS BIND 9 dhe Knot DNS, HTTP-server H2O, kuadri Lua Luvit. makinën virtuale MoarVM, gjuha Julia dhe kuadri Python uvloop. Në versionin e ri është eliminuar një vulnerabilitet (CVE-2024-24806), që shfaqet në projekte që përdorin libuv dhe lejon një sulm SSRF (Server-side request forgery) për të fituar akses në API-në e brendshme. Vulnerabiliteti u shfaq për shkak të shkurtimit të emrit të hostit nga funksioni uv_getaddrinfo() në 256 karaktere në fazën para rezolvimit të domainit përmes funksionit getaddrinfo(), që mund të çojë në përcaktimin e një emri të gabuar. Adresa IP dhe anashkalimin e kontrollimeve. Për shembull, shërbimet si MySpace, që krijojnë subdomene si «username.example.com», mund të sulmohen duke treguar një emër përdoruesi të gjatë.

Po ashtu, doli një përditësim për klientin HTTP undici 5.28.3 të përdorur në Node.js, në të cilin është eliminuar një vulnerabilitet (CVE-2024-24758), shkaktuar nga mungesa e pastrimit të titullit HTTP Proxy-Authorization gjatë ridrejtimit të kërkesave.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster