Comment puis-je corriger la vulnérabilité de sécurité Shellshock dans les tests Debian / Jessie?


24

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 ).

Réponses:


5

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

dpkg -i

1
Merci, je l'ai fait et cela a résolu le problème sans rien détruire de façon notable. Vraisemblablement, il finira par être écrasé dans le cours normal des mises à jour?
John Lawrence Aspden, du

3
Le lien ci-dessus est correct si vous utilisez un navigateur dans une interface graphique. Moins si vous exécutez lynx dans une session shell. Si vous voulez quelque chose que vous pouvez coller directement dans votre ligne de commande pour l'attraper, essayez: 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.
Jemenake

1
@Jemenake Vous devriez publier cela comme une réponse distincte.
Excellll

C'était certainement la réponse que je voulais, mais maintenant que la mise à jour est arrivée à Jessie, je pense qu'il vaut mieux que la réponse acceptée soit celle que les gens recherchent maintenant, alors je déplace la coche. Merci quand même!
John Lawrence Aspden,

En fait, il y a deux bugs shellshock, et le correctif pour le second est maintenant dans Sid mais pas Jessie, donc c'est en fait toujours la bonne réponse, (assurez-vous que vous obtenez 4.3-9.2!), Bien que la situation se résolve sans doute bientôt.
John Lawrence Aspden

25

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é.

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, alors 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

Modifier: après la publication des correctifs 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.

De plus, la réponse de runamok ci-dessous fonctionne bien, alors donnez-lui une note positive!


6
apt-get update && apt-get install -y bashSemble juste fonctionner.
runamok

Sur la base de la réponse de @JabawokJayUK, j'échoue toujours au premier test après la mise à jour bash dans Ubuntu 12.04.
Birla

Je reçois seulement this is a testmais 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.
ElBaulP

Il semble que le référentiel soit à jour maintenant, car je n'ai pas eu à effectuer l'étape apt-get install -y, le problème a été résolu déjà après la mise à niveau.
user316566

1
Cela ne répond vraiment pas à la question sur Debian testing / Jessie. Ubuntu est une distribution différente avec des référentiels de packages indépendants et des calendriers de correctifs.
Bob

16

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:

#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, courez apt-get update && apt-get install bash.

Via: linuxquestions


Fonctionne pour debian 6. Nous garderions toujours la sécurité LTC dans la liste!
stanleyxu2005

4

apt-get updateavant apt-get dist-upgradeet 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.


2
Le problème était que les tests Debian n'avaient pas encore le paquet mis à jour, donc le télécharger manuellement depuis unstable et l'installer était la solution la plus simple à ce moment-là; la solution donnée dans cette réponse n'aurait pas fonctionné. (Peut-être que maintenant, car le package peut avoir migré vers testing.)
wurtel

Cela ne répond pas à la question d'origine, mais c'est ce que les gens doivent faire maintenant, donc je l'accepte pour que ce soit la première chose que les gens voient. La «vraie» réponse à ma difficulté (c'est instable et stable mais pas en test) est la réponse de Wurtel en utilisant le téléchargement manuel du nouveau bash - ????. Deb et dpkg -i.
John Lawrence Aspden,

Je pense également que c'est la réponse pour Ubuntu, maintenant qu'ils ont correctement poussé leur correctif, et probablement pour toute autre distribution basée sur Debian qui est toujours maintenue au point où les gens ont poussé les correctifs.
John Lawrence Aspden,

En fait, il y a deux bugs shellshock et le correctif pour le second n'a pas encore été rendu à Jessie.
John Lawrence Aspden, du

Ceci est toujours une solution valable et le restera tant que l'équipe de sécurité des tests Debian poussera les mises à jour; ils ne l'avaient peut-être pas testé lors de la question OP. Une autre option consiste à configurer tous les utilisateurs pour qu'ils utilisent Dash. Il s'agit principalement d'un problème de serveur et non
MGD_Toronto

3

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$ 

2
n'oubliez pas d'installer le breuvage avant ...
Marcos Maciel

1

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:

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 à nouveau:

sudo sed -i 's/trusty/YOUR_OS_CODENAME/g' /etc/apt/sources.list

euh… cela laissera votre système avec Trusty dans sources.list. la prochaine mise à jour, le système passera à Trusty. cela cassera GRAVEMENT votre système.
strugee

1

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:

# 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'

Ne corrige pas encore le suivi CVE-2014-7169.
Bob

@Bob, je pense que cela ne concerne que Ubuntu? Et probablement Ubuntu l'a déjà corrigé.
John Lawrence Aspden,

@JohnLawrenceAspden Nope. Essayez de lancer env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("- s'il s'imprime still 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é echodans le répertoire en cours en cas de succès, et vous devrez le supprimer avant de relancer le test.
Bob

@Bob, je ne peux pas faire la tête ou la queue de ça, qu'est-ce que le bit vers le point-virgule fait?
John Lawrence Aspden,

@Bob, mais quoi qu'il fasse, vous avez raison, la mise à niveau vers la version 4.3-9.2 dans unstable l'arrête!
John Lawrence Aspden du
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.