Shellshock: bug in bash shell
Qualche mese fa siamo stati tutti investiti dal problema del bug Hearthbleed e ora scopriamo che la bash shell presenta un bug altrettanto grave, prontamente chiamato Shellshock.
Chiariamo subito una cosa: se il bug Hearthbleed colpiva potenzialmente tutti gli utenti della rete proprio sugli aspetti della sicurezza (le informazioni riservate potevano essere viste da chiunque), il problema di Shellshock riguarda più o meno tutti i sistemi del mondo *nix ed è quindi -per sua natura- potenzialmente meno pericoloso perchè non tocca direttamente gli aspetti della riservatezza.
In realtà, purtroppo, la questione non si liquida così semplicemente.
Ma andiamo per gradi. La bash shell (Bourne Again Shell), è la shell di comando usata in molti sistemi Linux e Unix. Il bug è stato scoperto qualche giorno fa da Stephane Schazelas, ed è relativo al modo in cui la shell bash processa le variabili d’ambiente passate dal sistema operativo o da un programma che chiama uno script bash, nel caso in cui la shell bash sia configurata come default nel sistema.
Quindi il problema sta nel fatto che è possibile “creare variabili d’ambiente con valori manipolati prima di chiamare la shell bash. Queste variabili possono contenere codice, che sarà eseguito non appena si invoca la shell” (dal comunicato di Red Hat), e sono già stati rilevati attacchi che sfruttano questo bug. La vulnerabilità riguarda le versioni da 1.14 a 4.3 di GNU Bash.
E’ quindi opportuno (necessario) che gli amministratori di sistema applichino le correzioni al più presto. Se questo è fondamentale per i sistemi in rete, lo ritengo comunque importante per i sistemi personali, anche se non svolgono il ruolo di server. Penso in particolare ai possessori di sistemi Mac, il cui OS è di derivazione Linux e che quindi sono interessati al problema Shellshock.
Come verificare se il sistema è esposto a Shellshock
Tra le varie possibilità riporto un semplice controllo che si esegue a riga di comando
env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”
Se il sistema è esposto alla vulnerabilità, l’output sarà:
vulnerable
this is a test
mentre un sistema non interessato, o con patch applicata, risponderà più o meno così:
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x’
this is a test
I produttori si sono attivati subito per rilasciare correzioni specifiche per il proprio sistema, quindi un aggiornamento della bash shell risolverà il problema.
Devo effettuare un reboot del sistema dopo l’aggiornamento ?
No, non è necessario effettuare il reboot del sistema o dei servizi.
Non è da escludere che nei prossimi giorni vengano rilasciati ulteriori aggiornamenti, occorre quindi tenere sotto controllo la situazione ed intervenire nuovamente se si renderessero disponibili nuove patch.