Vai al contenuto principale
BlogSicurezzaBollettino di sicurezza Linode dal 16 al 23 ottobre 2022

Linode Security Digest 16-23 ottobre 2022

Digesto di sicurezza di Linode

Nel digest di questa settimana discuteremo di:

  • Linode Terraform (TF) Fornitore Creazione deterministica della password
  • Apache Commons Text Esecuzione di codice remoto (RCE)
  • Vm2 sandbox escape to RCE

Il fornitore Linode Terraform crea una password deterministica non seminata 

È stata scoperta una vulnerabilità di sicurezza in Linode Terraform Provider, un plugin progettato per automatizzare il provisioning delle istanze Linode utilizzando Terraform. Terraform è uno strumento IaC che si concentra sulla creazione, la modifica e la distruzione dei server invece di gestire il software su tali server. 

La vulnerabilità riguarda i Linode creati con la versione v1.29.3 del plugin Terraform . Nel provider Terraform , quando un Linode viene creato senza fornire una password di root, il provider TF utilizza una password generata casualmente. La versione del plugin interessata sembra generare password deterministiche a causa di una modifica della nostra funzionalità di generazione delle password. Il componente vulnerabile comportava l'uso del pacchetto math/rand Go invece di crypto/rand per la produzione di password casuali. Inoltre, il pacchetto math/rand non veniva seminato. 

Per proteggere le installazioni future, aggiornare lo strumento Linode Terraform Provider alla versione più recente, attualmente la v1.29.4. Se non si è in grado di aggiornare immediatamente, si può anche cambiare la password di root sulle istanze distribuite tramite il plugin interessato.

Se avete bisogno di ulteriore assistenza o se avete domande, contattate support@linode.com.

Apache Commons Text Esecuzione di codice remoto (RCE)

Apache Commons Text performs variable interpolation, allowing properties to be dynamically evaluated and expanded. The standard format for interpolation is “${prefix:name}”, where “prefix” is used to locate an instance of org.apache.commons.text.lookup.StringLookup that performs the interpolation.

CVE-2022-42889 è un problema di esecuzione di codice remoto presente in Apache Commons Text dalla versione 1.5 alla 1.9, dove l'insieme delle istanze predefinite di Lookup (dalla classe StringSubstitutor) includeva interpolatori che potevano portare all'esecuzione di codice arbitrario o al contatto con server remoti. I lookup vulnerabili sono:

  • "script" - Esegue le espressioni utilizzando il motore di esecuzione degli script della JVM (javax.script)
  • "dns" - Risolve i record DNS 
  • "url" - Carica i valori dagli URL

Inoltre, qualsiasi applicazione server remota che utilizzi le impostazioni predefinite di interpolazione nelle versioni interessate può essere vulnerabile all'esecuzione di codice remoto o al contatto involontario con server remoti se vengono utilizzati valori di configurazione non attendibili. 

Il modo per determinare se questa libreria è installata è eseguire `find / -type f -name 'commons-text*.jar'`, che ci darà qualsiasi file .jar con il prefisso commons-text. 

La correzione è disponibile a partire da Apache Commons Text 1.10.0. La correzione disabilita per impostazione predefinita gli interpolatori dns, url e script lookup. È possibile applicare altri rimedi, tra cui la sanificazione dell'input nei punti in cui si accettano ed elaborano dati non attendibili. 

Vm2 sandbox escape to RCE

vm2 è un pacchetto npm molto utilizzato che agisce come una sandbox in cui è possibile eseguire codice non attendibile con i moduli incorporati di Node in lista d'attesa. Questo pacchetto è molto popolare, con oltre 16 milioni di download al mese, il che lo rende una vulnerabilità degna di essere sfruttata contro un'applicazione con il pacchetto vm2 installato. 

CVE-2022-36067 è un'esecuzione di codice in modalità remota presente nella libreria sandbox di vm2, in cui un utente potrebbe uscire dalla sandbox di vm2 e ottenere l'accesso all'host che esegue la sandbox. La vulnerabilità riguarda attualmente le versioni 3.9.10 e successive. 

Questa vulnerabilità riguarda l'utilizzo del metodo prepareStackTrace, una funzione che consente agli sviluppatori di personalizzare lo stack di chiamate di un errore verificatosi nell'applicazione. Il metodo prepareStackTrace è un costruttore di "errori" che crea un oggetto "Error". Quando si verifica un errore e si accede alla proprietà "stack" dell'oggetto Errore lanciato, Node.js richiama questo metodo fornendogli come argomenti una rappresentazione in stringa dell'errore e un array di oggetti "CallSite". 

I ricercatori hanno iniziato sovrascrivendo l'oggetto globale Error con un proprio oggetto. Questo nuovo oggetto consente all'aggressore di utilizzare la funzione prepareStackTrace per sfruttare una funzione non sandboxed chiamata "getThis", che è una funzione utilizzata per restituire l'oggetto "this" in uno stack frame. Questo oggetto stack frame è un oggetto non sandboxato che potrebbe consentire a un utente di eseguire funzioni che sfuggono alla sandbox ed eseguono codice sull'host su cui il codice è in esecuzione. 

Il fix è disponibile a partire da vm2 3.9.11. 

Commenti

Lascia una risposta

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