SÄrbarheter i Node.js och libuv

Korrigerande utgÄvor av serverplattformen JavaScript Node.js 21.6.2, 20.11.1, 18.19.1 Àr tillgÀngliga, dÀr 8 sÄrbarheter har ÄtgÀrdats, varav 4 har tilldelats hög risknivÄ:

  • CVE-2024-21892 — möjligheten för en icke-privilegerad anvĂ€ndare att injicera kod som Ă€rvt utökade privilegier som den körs med. SĂ„rbarheten orsakas av ett fel i implementeringen av ett undantag som tillĂ„ter en icke-privilegerad anvĂ€ndare att bearbeta miljövariabler i en process med utökade privilegier. Undantaget skulle endast tillhandahĂ„llas för rĂ€ttigheter CAP_NET_BIND_SERVICE, men pĂ„ grund av felet tillĂ€mpades det Ă€ven pĂ„ vissa andra rĂ€ttigheter (capabilities).
  • CVE-2024-22019 — överbelastning genom uttömning av tillgĂ€ngliga resurser (CPU-belastning och bandbredd) vid behandling av speciellt formaterade chunked-förfrĂ„gningar av den inbyggda HTTP-servern, vilket leder till att ett obegrĂ€nsat antal byte lĂ€ses i en anslutning.
  • CVE-2024-21896 — överskridande av grundkatalogen i filvĂ€gar. SĂ„rbarheten tillĂ„ter att normalisering av filvĂ€gar kringgĂ„s genom anvĂ€ndning av path.resolve() nĂ€r vĂ€gen överförs med Buffer-klassen. För att fĂ„ en sĂ„dan vĂ€g anropas Buffer.from() efter kontroll, men i applikationen kan anropet Buffer.prototype.utf8Write anvĂ€ndas, vilket leder till att innehĂ„llet Ă€ndras efter att path.resolve() har körts, vilket skapar sĂ„rbarheten.
  • CVE-2024-22017 — anrop av setuid() Ă„terstĂ€llde inte alla privilegier. I synnerhet pĂ„verkar setuid() inte io_uring-operationer som anvĂ€nds i libuv om dessa har initierats före anropet av setuid().
  • CVE-2023-46809 — sĂ„rbarhet i API:et privateDecrypt(), som tillĂ„ter tillĂ€mpning av Marvin-attacker för att dekryptera RSA baserat pĂ„ tidsmĂ€tning av operationer.
  • CVE-2024-21891 — möjlighet att kringgĂ„ Ă„tkomstkontrollmodellen vid anvĂ€ndning av anvĂ€ndardefinierade hanterare för normalisering av filvĂ€gar.
  • CVE-2024-21890 — felaktig behandling av masker i parametrarna "—allow-fs-read" och "—allow-fs-write". Till exempel, "—allow-fs-read=\/home\/node\/.ssh\/*.pub" skulle ge tillgĂ„ng till allt innehĂ„ll i ".ssh\/", och inte bara filer med filĂ€ndelsen ".pub", eftersom masken "*" behandlas som det sista elementet i vĂ€gen.
  • CVE-2024-22025 – överbelastning genom resursutnyttjande vid avkodning av komprimerad data i Brotli-format, erhĂ„llen genom fetch()-anrop.

Dessutom kan man nĂ€mna utgivningen av biblioteket libuv 1.48.0, som anvĂ€nds i Node.js för multiplexering av anslutningar och asynkron hantering av in- och utdata. Utöver Node.js anvĂ€nds biblioteket Ă€ven i DNS-servrar BIND 9 och Knot DNS, HTTP-servern H2O, Lua-ramverket Luvit, en virtuell maskin MoarVM, programsprĂ„ket Julia och Python-ramverket uvloop. I den nya versionen har en sĂ„rbarhet (CVE-2024-24806) Ă„tgĂ€rdats, som upptrĂ€der i projekt som anvĂ€nder libuv och möjliggör en SSRF-attack (Server-side request forgery) för att fĂ„ Ă„tkomst till interna API:er. SĂ„rbarheten uppstod pĂ„ grund av beskĂ€rning av vĂ€rdnamnet av funktionen uv_getaddrinfo() till 256 tecken i steget innan domĂ€nupplösningen via funktionen getaddrinfo(), vilket kan leda till oönskad IP-adresser och omgĂ„nget av kontroller. Till exempel kan tjĂ€nster som MySpace, som skapar subdomĂ€ner av typen „username.example.com”, attackeras genom att ange ett lĂ„ngt anvĂ€ndarnamn.

Det har ocksÄ slÀppts en uppdatering av HTTP-klienten undici 5.28.3, som anvÀnds i Node.js, dÀr en sÄrbarhet (CVE-2024-24758) ÄtgÀrdades, orsakad av bristen pÄ rensning av HTTP-headern Proxy-Authorization vid omdirigering av förfrÄgningar.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster