Bash, acronimo di Bourne Again Shell, è una shell testuale che fu creata addirittura nel 1980 ed è tutt’oggi una delle utilità più installate ed utilizzate sui sistemi Linux e “UNIX-like”. L’interfaccia Bash viene comunemente utilizzata per elaborare (“interpretare”) i comandi passati dall’utente e permette l’utilizzo di un linguaggio di scripting.
È prassi molto diffusa, per alcune applicazioni, eseguire script in background proprio appoggiandosi a Bash; inoltre, può essere usata per fornire agli utenti uno strumento per impartire comandi da remoto, collegandosi via SSH/Telnet.
Come confermato dalla stessa RedHat, in queste ore è stata scoperta una pericolosa vulnerabilità nella Bash portando alla luce un problema che esisteva da molto tempo e che sino ad oggi non era mai stato reso pubblico. “Si tratta di un bug più grave di Heartbleed“, ha dichiarato Robert Graham di Errata Security riferendosi alla vulnerabilità di sicurezza presente in alcune versioni di OpenSSL che in passato ha permesso la sottrazione di informazioni e dati sensibili (Heartbleed bug, quali i rischi per gli utenti ed i gestori di siti web HTTPS?).
La lacuna di sicurezza individuata nella Bash è stata battezzata “Bash bug” o “Shellshock“: un aggressore remoto può sfruttarla per eseguire comandi attraverso la shell facendo leva su delle variabili create ad arte e contenenti il codice malevolo. Stando a quanto riferito, infatti, nella maggior parte delle configurazioni, la vulnerabilità è sfruttabile attraverso la rete.
Nel caso in cui la Bash fosse configurata, sul sistema, come shell predefinita, un aggressore remoto può riuscire ad attaccare la macchina semplicemente modificando le intestazioni della richiesta web trasmessa.
Secondo il NIST statunitense, la falla di sicurezza scoperta nella Bash di UNIX/Linux sarebbe estremamente critica (10 punti in una scala da uno a dieci).
Chi gestisce server web ha già a disposizione le patch per risolvere la lacuna di sicurezza: le distribuzione sulle quali il problema può essere già risolto sono RedHat Linux Enterprise (dalla versione 4 alla versione 7), Fedora, CentOS (dalla versione 5 alla versione 7), Ubuntu 10.04 LTS, 12.04 LTS e 14.04 LTS e Debian.
Per verificare se il proprio server è affetto o meno dal problema, si può digitare – dalla shell – quanto segue:
env X="() { :;} ; echo shellshock" /bin/sh -c "echo completed"
env X="() { :;} ; echo shellshock" `which bash` -c "echo completed"
Se si otterrà shellshock come output, significa che il sistema è affetto dalla vulnerabilità.
Secondo Robert Graham, il bug è veramente pericoloso dal momento che molti server potrebbero restare non aggiornati. Inoltre, la vulnerabilità interessa anche la stragrande maggioranza dei dispositivi hardware basati su kernel Linux ed amministrabili da remoto (compresi videocamere e sistemi di sorveglianza, hard disk di rete, NAS,…).
I primissimi test svolti dallo stesso Graham hanno già ben evidenziato come il bug sia estremamente diffuso.