La commande de test
x='() { :;}; echo vulnerable' bash
montre que mon installation Debian 8 (Jessie) est vulnérable, même avec les dernières mises à jour. La recherche montre qu'il existe un correctif pour stable et instable, mais que les tests ne sont pas corrigés.
Je suppose que le patch sera testé dans quelques jours, mais cela semble assez méchant pour être paranoïaque. Existe-t-il un moyen d'obtenir le package de instable et de l'installer sans casser mon système? La mise à niveau vers instable semble entraîner plus de problèmes qu'elle n'en résout.
Selon Bob, il existe une deuxième vulnérabilité Shellshock, qui est corrigée dans un deuxième correctif. Le test est censé être:
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
Mais je ne suis pas assez compétent en Bash pour comprendre ce que cela signifie ou pourquoi c'est un problème. En tout cas, il fait quelque chose de bizarre, ce qui est empêché par bash_4.3-9.2_amd64.deb sur les systèmes 64 bits, qui au moment de l'édition est stable et instable mais pas dans Jessie / testing.
Pour résoudre ce problème pour Jessie , obtenez le dernier Bash de instable et installez-le avec dpkg -i
.
Offres Jemenake
wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.2_$(dpkg --print-architecture).deb
comme une commande qui obtiendra la version 4.3-9.2 pour votre machine.
Et vous pouvez suivre cela avec:
sudo dpkg -i bash_4.3-9.2_$(dpkg --print-architecture).deb
pour l'installer.
Si vous avez besoin d'autres correctifs d'instable pour votre système Jessie , c'est clairement la voie à suivre ( mutatis mutandis ).
la source
wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.1_$(dpkg --print-architecture).deb
Il obtiendra la bonne architecture pour votre boîte.J'ai modifié cette réponse pour les correctifs bash supplémentaires qui ont été publiés lundi.
Pour Ubuntu 12.04, j'ai exécuté une mise à jour, mais j'ai également dû exécuter l'installation pour bash pour se débarrasser de la vulnérabilité.
Cette commande indique que le système est vulnérable, alors exécutez la mise à jour.
Testez à nouveau.
Toujours vulnérable.
Testez à nouveau.
Modifier: après la publication des correctifs supplémentaires, la sortie a changé.
Yay! Fixé. Cela devrait fonctionner pour d'autres versions, mais je ne l'ai pas testé au-delà de 12.04.
De plus, la réponse de runamok ci-dessous fonctionne bien, alors donnez-lui une note positive!
la source
apt-get update && apt-get install -y bash
Semble juste fonctionner.this is a test
mais pas l'erreur et l'avertissement. Sur ma machine locale, j'obtiens l'erreur, mais pas sur mon serveur. Qu'est-ce que cela mesure? Mon serveur est-il corrigé? Merci.Une alternative à Debian 6.0 (Squeeze) sans récupérer les paquets depuis Debian 7 (Wheezy):
Utilisez le référentiel de sécurité LTS sur lequel le correctif est rétroporté.
Ajoutez ceci à
/etc/apt/sources.list
:Ensuite, courez
apt-get update && apt-get install bash
.Via: linuxquestions
la source
apt-get update
avantapt-get dist-upgrade
et vous obtiendrez le patch. Je l'ai fait moi-même et une mise à niveau bash a été poussée, ce qui résout le problème.la source
Je l'ai corrigé sur mon Hackintosh par:
$ brew install bash
la source
J'ai écrit un article sur la façon de faire cela avec apt-get sur les anciennes versions d'Ubuntu. Vous mettez à jour votre source.list vers la plus récente, puis exécutez apt-get update et upgrade bash. Vous pouvez le lire étape par étape ou le copier ici .
Sommaire:
Lisez l'article si vous utilisez old-releases.ubuntu.com et n'oubliez pas que vous voudrez peut-être le modifier à nouveau:
la source
La version fixe (voir le changelog ) du paquet Bash est maintenant dans Debian 8 (Jessie) (voir les informations sur le paquet ), à partir du 2014-09-26 14:18 UTC.
Le deuxième correctif, mentionné dans les commentaires ci-dessous, se trouve également dans le référentiel Jessie maintenant. Il n'est pas nécessaire d'installer depuis instable. Voir le lien d'informations sur le package ci-dessus.
Il n'est plus nécessaire d'installer depuis instable.
Exécutez simplement:
suivi par:
Vérifiez ensuite que la vulnérabilité a disparu (dans un shell récemment ouvert):
la source
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
- s'il s'imprimestill vulnerable
, alors ce dernier vuln n'est pas encore corrigé. AFAIK, jessie est toujours vulnérable. Notez que cette commande créera un fichier nomméecho
dans le répertoire en cours en cas de succès, et vous devrez le supprimer avant de relancer le test.