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
