Vundeblecoj en Node.js kaj libuv

Estas disponeblaj korektaj eldonoj de la servilflanka JavaScript-platformo Node.js 21.6.2, 20.11.1, 18.19.1, en kiuj 8 vundeblecoj estas fiksitaj, 4 el kiuj estas asignitaj alta nivelo de danĝero:

  • CVE-2024-21892 - Ebleco de anstataŭigo de kodo de senprivilegia uzanto, kiu heredas altigitajn privilegiojn kun kiuj funkcias la laborfluo. La vundebleco estas kaŭzita de eraro en la efektivigo de escepto, kiu permesas procezon kun altaj privilegioj prilabori mediovariablojn fiksitajn de senprivilegia uzanto. La escepto devus esti donita nur por la CAP_NET_BIND_SERVICE-kapablo, sed pro cimo ĝi aplikiĝis ankaŭ al iuj aliaj kapabloj.
  • CVE-2024-22019 - neo de servo pro elĉerpiĝo de disponeblaj rimedoj (CPU-ŝarĝo kaj bendolarĝa konsumo) kiam la enkonstruita HTTP-servilo procesas speciale desegnitajn petojn, kiuj kondukas al legado de senlima nombro da bajtoj en unu konekto.
  • CVE-2024-21896 - Baza dosierujo ekster limoj en dosiervojoj. La vundebleco ebligas al vi preterpasi normaligon de dosiervojoj uzante path.resolve() en kazo de preterpasi la vojon uzante la Buffer-klason. Por akiri tian vojon post konfirmo, la metodo Buffer.from() estas vokita, sed la aplikaĵo povas uzi vokon al Buffer.prototype.utf8Write, kio kondukas al la enhavo anstataŭita en la stadio post kiam path.resolve() estas ekzekutita kaj kreante vundeblecon.
  • CVE-2024-22017 La alvoko al setuid() ne restarigis ĉiujn privilegiojn. Aparte, setuid() ne influas io_uring operaciojn uzitajn en libuv se ili estis pravigitaj antaŭ ol setuid() estis vokita.
  • CVE-2023-46809 estas vundebleco en la privateDecrypt() API kiu permesas Marvin-atakon esti uzata por deĉifri RSA surbaze de tempo de operacioj.
  • CVE-2024-21891 Estas ebla alirpermesa modela preterpaso dum uzado de kutimaj dosiervojaj normaligtraktiloj.
  • CVE-2024-21890 - Malĝusta maska ​​uzado en la parametroj "--allow-fs-read" kaj "--allow-fs-write". Ekzemple, "--allow-fs-read=/home/node/.ssh/*.pub" permesos aliron al ĉiuj enhavoj de ".ssh/", kaj ne nur dosierojn kun la etendo ".pub", ĉar la masko estas " *" estas traktata kiel la lasta elemento de la vojo.
  • CVE-2024-22025 Neo de servo pro konsumo de rimedoj dum malkodado de Brotli-formatitaj kunpremitaj datenoj akiritaj per fetch()-voko.

Plie, indas rimarki la publikigon de libuv 1.48.0, biblioteko uzata en Node.js por multipleksado de konektaj datumoj kaj nesinkrona prilaborado de enigo/eligo. Krom Node.js, la biblioteko ankaŭ estas uzata en la DNS-serviloj BIND 9 kaj Knot DNS, la HTTP-servilo H2O, kaj la Luvit Lua kadro. virtuala maŝino MoarVM, la lingvo Julia, kaj la kadro uvloop Python. La nova versio korektas vundeblecon (CVE-2024-24806) kiu influas projektojn uzantajn libuv kaj permesas atakon de servila flanko de petofalsigo (SSRF) por akiri aliron al la interna API. La vundebleco ekestas pro tio, ke la funkcio uv_getaddrinfo() stumpigas la gastigantnomon al 256 signoj antaŭ ol solvi la domajnon per la funkcio getaddrinfo(), kio povas konduki al la determinado de malĝusta gastigantnomo. IP-adresoj kaj preterirante sekurecajn kontrolojn. Ekzemple, servoj kiel MySpace, kiuj kreas subdomajnojn kiel "uzantnomo.ekzemplo.com", povas esti atakitaj per specifado de longa uzantnomo.

Ĝisdatigo ankaŭ estis publikigita por la undici 5.28.3 HTTP-kliento uzata en Node.js, kiu riparis vundeblecon (CVE-2024-24758) kaŭzitan de malsukceso malplenigi la Proxy-Authorization HTTP-kapon dum alidirektado de petoj.

fonto: opennet.ru

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster