web-dev-qa-db-fra.com

Comment corriger la vulnérabilité de sécurité de Shellshock dans debian testing / jessie?

La commande de test

x='() { :;}; echo vulnerable' bash

montre que mon Debian 8 (Jessie) installation est vulnérable, même avec les dernières mises à jour. La recherche montre qu'il existe un correctif pour stable et unstable, mais que les tests ne sont pas corrigés.

Je pense que le patch permettra de le tester dans quelques jours, mais cela semble assez méchant pour être paranoïaque. Existe-t-il un moyen d’obtenir le paquet instable et de l’installer sans casser mon système? La mise à niveau vers unstable semble causer 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 pour cela est censé être:

 env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("

Mais je ne suis pas assez expérimenté en Bash pour comprendre ce que cela signifie ou pourquoi c'est un problème. Quoi qu'il en soit, cela fait quelque chose de bizarre, ce qui est évité 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 /essai.

Pour résoudre ce problème pour Jessie , récupérez le dernier Bash de unstable 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 de nouveaux correctifs de instable pour votre Jessie , c’est clairement le chemin à parcourir ( mutatis mutandis ).

24

Téléchargez le package depuis unstable via ce lien . Vous pouvez également vérifier les dépendances, bien qu'il semble que le bash instable ait les mêmes dépendances que le bash de testing. Installez le deb téléchargé avec ce qui suit.

dpkg -i
5
wurtel

J'ai modifié cette réponse pour les correctifs Bash supplémentaires 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é.

root@Host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test

Cette commande indique que le système est vulnérable, exécutez la mise à jour.

apt-get update && apt-get -y upgrade

Testez à nouveau.

root@Host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test

Toujours vulnérable.

apt-get install -y bash

Testez à nouveau.

root@Host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test

Edit: Après la publication des patchs supplémentaires, la sortie a changé.

root@Host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test

Yay! Fixé. Cela devrait fonctionner pour d'autres versions, mais je ne l'ai pas testé au-delà de 12.04.

En outre, la réponse de runamok ci-dessous fonctionne bien, alors donnez-lui un vote positif!

25
Tom Damon

Une alternative à Debian 6.0 (Squeeze) sans récupérer les paquets de Debian 7 (Wheezy):

Utilisez le référentiel de sécurité LTS sur lequel le correctif est renvoyé.

Ajoutez ceci à /etc/apt/sources.list:

#LTS security
deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free

Ensuite, lancez apt-get update && apt-get install bash.

Via: linuxquestions

16
poncha

apt-get update avant apt-get dist-upgrade et vous obtiendrez le correctif. Je viens de le faire moi-même et il y avait une mise à niveau bash poussé qui résout le problème.

4
MGD_Toronto

Je l'ai corrigé sur mon Hackintosh par:

$ brew install bash

$ x='() { :;}; echo vulnerable' bash
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
bash-4.3$ 
3
Marcos Maciel

J'ai écrit un article sur la façon de faire cela avec apt-get sur les anciennes versions d'Ubuntu. En gros, vous mettez à jour votre fichier sources.list avec le plus récent, puis vous exécutez apt-get update et mettez à niveau bash. Vous pouvez le lire étape par étape ou le copier depuis ici .

Résumé:

Sudo sed -i 's/YOUR_OS_CODENAME/trusty/g' /etc/apt/sources.list
Sudo apt-get update
Sudo apt-get install --only-upgrade bash

Lisez l'article si vous utilisez old-releases.ubuntu.com et n'oubliez pas que vous voudrez peut-être le modifier:

Sudo sed -i 's/trusty/YOUR_OS_CODENAME/g' /etc/apt/sources.list
1
Erik Duindam

La version corrigée (voir changelog ) du paquet Bash est maintenant dans Debian 8 (Jessie) (voir 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 . Il n'est pas nécessaire d'installer à partir d'unstable. Voir le lien d'informations sur le paquet ci-dessus.

Il n’est plus nécessaire d’installer depuis unstable.

Il suffit de courir:

# aptitude update

suivi par:

# aptitude upgrade

Vérifiez ensuite que la vulnérabilité a disparu (dans un shell récemment ouvert):

$ x='() { :;}; echo vulnerable' bash
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
1
dubadu