Turvahaavad Node.js-is ja libuv-s

Saadaval on parandavad versioonid JavaScript-serveri platvormist Node.js 21.6.2, 20.11.1, 18.19.1, milles on parandatud 8 haavatavust, millest 4 on kÔrge ohutasemega:

  • CVE-2024-21892 — vĂ”imalus, et privileegita kasutaja suudab sisestada koodi, mis pĂ€rib laiendatud Ă”igused, millega töödeldakse protsessi. Haavatavus tuleneb erandi rakendamise veast, mis vĂ”imaldab laiendatud Ă”igustega protsessis töödelda keskkonnamuutujaid, mis on mÀÀratud privileegita kasutaja poolt. Erand peaks olema lubatud ainult CAP_NET_BIND_SERVICE Ă”iguste jaoks, kuid vea tĂ”ttu kehtib see ka teiste Ă”iguste (capabilities) jaoks.
  • CVE-2024-22019 — teenuse katkestamine, mis tuleneb kergendustel olevate ressursside (CPU koormus ja ribalaiuse tarbimine) ammendamisest, kui integreeritud HTTP-server kĂ€sitleb spetsiaalselt vormindatud chunked-pĂ€ringuid, mis viivad piiramatute baitide lugemisele ĂŒhes ĂŒhenduses.
  • CVE-2024-21896 — basi katalooge ĂŒletav failitee. Haavatavus vĂ”imaldab mööda jalutada failiteede normaliseerimist, kasutades path.resolve(), kui tee edastatakse Bufferi klassi abil. Selle tee saamiseks, pĂ€rast kontrollimist, kutsutakse vĂ€lja Buffer.from() meetod, kuid rakenduses vĂ”idakse kasutada Buffer.prototype.utf8Write, mis toob kaasa sisu muutmise path.resolve() tĂ€itmise etapis, pĂ”hjustades haavatavuse.
  • CVE-2024-22017 — setuid() kutsumine ei lĂ€htestanud kĂ”iki privileege. Eriti ei mĂ”juta setuid() io_uringi operatsioone, mida kasutatakse libuv'is, kui need on initsialiseeritud enne setuid() kavandamist.
  • CVE-2023-46809 — haavatavus API privateDecrypt() osas, mis vĂ”imaldab Marvin'i rĂŒnnakut RSA dekrĂŒpteerimiseks, pĂ”hinedes operatsioonide ajamÔÔtmisel.
  • CVE-2024-21891 — vĂ”imalus pÀÀseda mööda juurdepÀÀsu Ă”iguste mudelist, kasutades kohandatud failitee normaliseerimise kĂ€itlejat.
  • CVE-2024-21890 — valede maskide kĂ€sitlemine parameetrites „—allow-fs-read“ ja „—allow-fs-write“. NĂ€iteks „—allow-fs-read=/home/node/.ssh/*.pub“ toob kaasa juurdepÀÀsu kogu „.ssh/“ sisu, mitte ainult „.pub“ laiendiga failidele, kuna mask „*“ töödeldakse tee viimase elemendina.
  • CVE-2024-22025 — teenusest keelamine ressursside kulutamise kaudu Brotli vormingus tihendatud andmete dekodeerimise ajal, saadud fetch() kutsumise kaudu.

Lisaks vĂ”ib mĂ€rkida, et on ilmunud libuv 1.48.0 versioon, mida kasutatakse Node.js-is ĂŒhenduste multiplexerimise ja asĂŒnkroonse I/O töötlemise jaoks. Lisaks kasutab seda raamatukogu ka DNS-serverid BIND 9 ja Knot DNS, HTTP-server H2O, Lua-raamistik Luvit. virtuaalses masinas MoarVM, Julia keel ja Python raamistik uvloop. Uues versioonis on kĂ”rvaldatud haavatavus (CVE-2024-24806), mis ilmneb projektides, mis kasutavad libuv ja vĂ”imaldab SSRF (Server-side request forgery) rĂŒnnakut sisemise API juurde pÀÀsemiseks. Haavatavus tekkis, kuna uv_getaddrinfo() funktsioon kĂ€rpis hosti nime 256 tĂ€hemĂ€rgi piiranguni enne domeeni lahendamist getaddrinfo() kaudu, mis vĂ”ib viia vale mÀÀratlemiseni ja kontrollide ĂŒmbersĂ”iduni. IP-aadressid NĂ€iteks vĂ”ivad MySpace'i sarnased teenused, mis loovad alamdomeene vormis «username.example.com», olla rĂŒnnatavad pika kasutajanime mÀÀramise kaudu.

Samuti ilmus uuendus Node.js-i HTTP-klientidele undici 5.28.3, kus kĂ”rvaldatud haavatavus (CVE-2024-24758) tulenes HTTP-pealkirja Proxy-Authorization puhastamise puudumisest taotluste vĂ”imaliku ĂŒmbersuunamise ajal.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster