Vulnerabilități în Node.js și libuv

Sunt disponibile versiuni corective ale platformei JavaScript de pe partea serverului Node.js 21.6.2, 20.11.1, 18.19.1, în care sunt remediate 8 vulnerabilități, dintre care 4 au un nivel ridicat de pericol:

  • CVE-2024-21892 - Posibilitatea de înlocuire a codului de către un utilizator neprivilegiat care moștenește privilegii ridicate cu care rulează fluxul de lucru. Vulnerabilitatea este cauzată de o eroare în implementarea unei excepții care permite unui proces cu privilegii ridicate să proceseze variabilele de mediu setate de un utilizator neprivilegiat. Excepția ar fi trebuit să fie acordată numai pentru capacitatea CAP_NET_BIND_SERVICE, dar din cauza unei erori s-a aplicat și la unele alte capabilități.
  • CVE-2024-22019 - refuzul serviciului din cauza epuizării resurselor disponibile (încărcarea CPU și consumul de lățime de bandă) atunci când serverul HTTP încorporat procesează solicitări fragmentate special concepute care duc la citirea unui număr nelimitat de octeți într-o singură conexiune.
  • CVE-2024-21896 – Directorul de bază în afara limitelor în căile fișierelor. Vulnerabilitatea vă permite să ocoliți normalizarea căilor fișierelor folosind path.resolve() în cazul trecerii căii utilizând clasa Buffer. Pentru a obține o astfel de cale după verificare, este apelată metoda Buffer.from(), dar aplicația poate folosi un apel la Buffer.prototype.utf8Write, ceea ce duce la înlocuirea conținutului în etapa după ce path.resolve() este executat și creând o vulnerabilitate.
  • CVE-2024-22017 Apelul la setuid() nu a resetat toate privilegiile. În special, setuid() nu afectează operațiunile de io_uring utilizate în libuv dacă au fost inițializate înainte ca setuid() să fie apelat.
  • CVE-2023-46809 este o vulnerabilitate din API-ul privateDecrypt() care permite ca un atac Marvin să fie folosit pentru a decripta RSA în funcție de sincronizarea operațiunilor.
  • CVE-2024-21891 Există o posibilă ocolire a modelului de permisiuni de acces atunci când utilizați handlere personalizate de normalizare a căilor de fișiere.
  • CVE-2024-21890 – Gestionarea incorectă a măștii în parametrii „--allow-fs-read” și „--allow-fs-write”. De exemplu, „--allow-fs-read=/home/node/.ssh/*.pub” va permite accesul la tot conținutul „.ssh/”, și nu doar fișierele cu extensia „.pub”, deoarece masca este „ *” este tratată ca ultimul element al căii.
  • CVE-2024-22025 O refuz de serviciu din cauza consumului de resurse la decodificarea datelor comprimate în format Brotli, obținute printr-un apel fetch().

În plus, merită menționată lansarea libuv 1.48.0, o bibliotecă utilizată în Node.js pentru multiplexarea conexiunilor și procesarea asincronă I/O. Pe lângă Node.js, biblioteca este utilizată și în serverele DNS BIND 9 și Knot DNS, serverul HTTP H2O și framework-ul Luvit Lua. mașină virtuală MoarVM, limbajul Julia și framework-ul uvloop Python. Noua versiune remediază o vulnerabilitate (CVE-2024-24806) care afectează proiectele care utilizează libuv și permite un atac de tip „server-side request forgery” (SSRF) pentru a obține acces la API-ul intern. Vulnerabilitatea apare din cauza trunchierii numelui de gazdă de către funcția uv_getaddrinfo() la 256 de caractere înainte de a rezolva domeniul prin intermediul funcției getaddrinfo(), ceea ce poate duce la determinarea unui nume de gazdă greșit. adrese IP și ocolirea verificărilor de securitate. De exemplu, servicii precum MySpace, care creează subdomenii precum „numeutilizator.exemplu.com”, pot fi atacate prin specificarea unui nume de utilizator lung.

A fost lansată și o actualizare pentru clientul HTTP undici 5.28.3 utilizat în Node.js, care a remediat o vulnerabilitate (CVE-2024-24758) cauzată de eșecul de a șterge antetul HTTP Proxy-Authorization la redirecționarea solicitărilor.

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster