Vulnerabilità in Node.js e libuv

Sono disponibili versioni correttive della piattaforma JavaScript server Node.js 21.6.2, 20.11.1, 18.19.1, che risolvono 8 vulnerabilità, di cui 4 classificate come ad alto rischio:

  • CVE-2024-21892 – possibilità per un utente non privilegiato di iniettare codice che eredita privilegi elevati con cui viene eseguito il processo. La vulnerabilità è causata da un errore nell'implementazione delle eccezioni, consentendo a variabili d'ambiente impostate dall'utente non privilegiato di essere elaborate in un processo con privilegi elevati. L'eccezione avrebbe dovuto essere concessa solo per le autorizzazioni CAP_NET_BIND_SERVICE, ma a causa di un errore si applicava anche ad altre autorizzazioni.
  • CVE-2024-22019 – negazione del servizio a causa di esaurimento delle risorse disponibili (carico CPU e consumo di banda) durante l'elaborazione di richieste chunked appositamente formattate dal server HTTP incorporato, portando alla lettura di un numero illimitato di byte in una singola connessione.
  • CVE-2024-21896 — superamento del limite della directory di base nei percorsi dei file. Questa vulnerabilità consente di eludere la normalizzazione dei percorsi dei file tramite path.resolve() quando un percorso è passato utilizzando la classe Buffer. Per ottenere un simile percorso, dopo la verifica viene chiamato il metodo Buffer.from(), ma nell'applicazione potrebbe essere utilizzato il metodo Buffer.prototype.utf8Write, portando a una modifica del contenuto dopo l'esecuzione di path.resolve() e alla creazione di una vulnerabilità.
  • CVE-2024-22017 — la chiamata a setuid() non annullava tutte le privilegi. In particolare, setuid() non influisce sulle operazioni io_uring, utilizzate in libuv, se erano state inizializzate prima della chiamata a setuid().
  • CVE-2023-46809 — vulnerabilità nell'API privateDecrypt(), che consente di utilizzare l'attacco Marvin per decrittografare RSA basato sulla misurazione del tempo delle operazioni.
  • CVE-2024-21891 — possibilità di eludere il modello di autorizzazione quando si utilizzano gestori di normalizzazione dei percorsi dei file personalizzati.
  • CVE-2024-21890 — gestione non corretta delle maschere nei parametri «—allow-fs-read» e «—allow-fs-write». Ad esempio, «—allow-fs-read=/home/node/.ssh/*.pub» fornirà accesso a tutto il contenuto di «.ssh/», e non solo ai file con estensione «.pub», poiché la maschera «*» viene trattata come l'ultimo elemento del percorso.
  • CVE-2024-22025 — denial of service tramite esaurimento delle risorse durante la decodifica di dati compressi in formato Brotli, ottenuti tramite la chiamata fetch().

Inoltre, si segnala la formazione del rilascio della libreria libuv 1.48.0, utilizzata in Node.js per il multiplexing delle connessioni e l'elaborazione asincrona di input/output. Oltre a Node.js, la libreria è utilizzata nei server DNS BIND 9 e Knot DNS, nel server HTTP H2O, nel framework Lua Luvit, macchina virtuale MoarVM, nel linguaggio Julia e nel framework Python uvloop. Nella nuova versione è stata corretta una vulnerabilità (CVE-2024-24806) che si manifesta nei progetti che utilizzano libuv e consente di effettuare attacchi SSRF (Server-side request forgery) per accedere a un'API interna. La vulnerabilità è emersa a causa del troncamento del nome host da parte della funzione uv_getaddrinfo() a 256 caratteri nella fase prima della risoluzione del dominio tramite la funzione getaddrinfo(), che può portare all'individuazione di un host non corretto. Indirizzi IP e bypassare i controlli. Ad esempio, servizi come MySpace, che creano sottodomini del tipo «username.example.com», possono essere attaccati specificando un nome utente lungo.

È anche uscita un'aggiornamento del client HTTP utilizzato in Node.js, undici 5.28.3, che ha risolto una vulnerabilità (CVE-2024-24758) causata dalla mancanza di pulizia dell'intestazione Proxy-Authorization durante il reindirizzamento delle richieste.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster