Nuova vulnerabilità dopo Heartbleed: arriva Bash Bug
Bash Bug è un difetto sfruttabile da remoto che riguarda Linux, Unix e Apple Mac OS X e che sta minacciando l’infrastruttura globale di Internet.
Una nuova vulnerabilità critica sta minacciando il mondo IT. La stessa, codificata come CVE–2014-6271, è sfruttabile da remoto e agendo sulla shell dei sistemi Linux e Unix espone al rischio di attacchi informatici siti internet, server, PC, Mac OS X, vari router domestici e molti altri dispositivi.
Stephane Chazelas ha rivelato pubblicamente i dettagli tecnici della vulnerabilità legata all’esecuzione di codice in modalità remota in Bash, che colpisce la maggior parte delle distribuzioni Unix like tutto il mondo.
Stephane ha spiegato che la vulnerabilità esiste da diversi decenni e inficia le variabili d’ambiente.
Per eseguire un codice arbitrario sui sistemi interessati è necessario assegnare una funzione a una variabile, il codice contenuto nella definizione della funzione verrà così eseguito.
La vulnerabilità Bash Bug, anche soprannominata Shellshock, colpisce le versioni versioni di GNU Bash che vanno da 1.14 a 4.3; un attaccante potrebbe eseguire comandi di shell da remoto su una macchina vittima utilizzando variabili appositamente predisposte.
GNU Bash permette agli hacker di eseguire codice arbitrario attraverso un environment opportunamente modificato, come dimostrato da vettori che coinvolgono la funzione ForceCommand in OpenSSH sshd, i moduli mod_cgi e mod_cgid di Apache HTTP Server, gli script eseguiti dal client DHCP non specificati, e altre situazioni in cui impostare l’ambiente avviene attraverso l’esecuzione privilegiata della shell Bash.
Così è valutato questo Bug sul Vulnerability Database NIST americano.
Una macchina con Bash configurata come shell di sistema di default potrebbe essere facilmente violata ogni volta che un’applicazione richiama il comando di shell Bash (ad esempio server di posta) via HTTP o Common Gateway Interface (CGI).
L’utente malintenzionato potrebbe eseguire codice arbitrario sul server semplicemente inviando una richiesta Web dannosa appositamente predisposta impostando le intestazioni in una richiesta web, o impostando tipi MIME particolari. Cercando su Internet è possibile trovare il codice sorgente per cgi-bin shell reversed di seguito riportato:
Attacchi simili sono possibili tramite OpenSSH,
Abbiamo anche verificato che questa vulnerabilità è esposta in ssh ma solo per le sessioni autenticate. Applicazioni Web come cgi-script potrebbero essere vulnerabili sulla base di una serie di fattori, ivi compresa la richiesta di altre applicazioni attraverso una command line shell.
Dice Stephane. Ma se un hacker non avesse avuto SSH questo exploit non avrebbe funzionato.
L’impatto complessivo della vulnerabilità Bash Bug è esteso, bash è comunemente utilizzata per eseguire comandi da altri programmi.
Gli esperti di sicurezza paragonano il rischio di esposizione di Bug Bash al bug Heartbleed.
La prima ragione è che il bug interagisce con altri software in modi inaspettati. Un’enorme percentuale di software interagisce con la shell con diverse modalità. Così non saremo mai in grado di catalogare tutto il software vulnerabile al bug bash.
Afferma Robert Graham sul suo blog Errata Security.
Come correre ai ripari
Per valutare se un sistema Linux o Unix è vulnerabile gli utenti possono eseguire le seguenti righe di comando nel loro Linux shell:
- env X=”() { :;} ; echo shellshock” /bin/sh -c “echo completed”
- env X=”() { :;} ; echo shellshock” `which bash` -c “echo completed”
Se il sistema è affetto da Bash Bug verrà visualizzata la parola “Shellshock” nell’output.
- Red Hat Enterprise Linux (versions 4 through 7) and the Fedora distribution
- CentOS (versions 5 through 7)
- Ubuntu 10.04 LTS, 12.04 LTS, and 14.04 LTS
- Debian
Il Bug Bash è particolarmente pericoloso per Internet–delle–cose su dispositivi come i contatori intelligenti, router, webcam e qualsiasi altro dispositivo che esegue il software che permette script bash. In genere, tale software non è facilmente patchable e ha maggiori probabilità di esporre la falla critica in Internet. Come detto da Graham “A differenza di Heartbleed, questo bash bug è stato in giro per molto tempo. Ciò significa che ci sono un sacco di vecchi dispositivi sulla rete vulnerabili a questo bug. Il guaio sembra essere molto più grande di Heartbleed. “