web-dev-qa-db-fra.com

Comment corriger la vulnérabilité de Shellshock sur un système Ubuntu obsolète que je ne peux pas mettre à niveau?

J'ai un système que j'administre à distance (à deux fuseaux horaires) qui exécute Ubuntu 9.04, Jaunty. Pour diverses raisons, principalement parce que je suis vraiment réticent à vouloir effectuer une mise à niveau de la distribution de si loin, je ne peux pas la mettre à niveau vers une version plus récente. De toute évidence, il n'est plus pris en charge et il n'y a pas de correctif officiel. Existe-t-il des instructions permettant de corriger le code et de recompiler moi-même afin de supprimer les vulnérabilités de Shellshock?

22
Claus

J'ai volé ça de AskUbuntu , de quelqu'un qui l'a volé de Hacker News. Travaillé sur deux vieux serveurs pour moi

mkdir src
cd src
wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
#download all patches
for i in $(seq -f "%03g" 1 28); do wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i; done
tar zxvf bash-4.3.tar.gz 
cd bash-4.3
#apply all patches
for i in $(seq -f "%03g" 1 28);do patch -p0 < ../bash43-$i; done
#build and install
./configure --prefix=/ && make && make install
cd .. 
cd ..
rm -r src

Mise à jour: Je viens de remarquer que si vous n'ajoutez pas --prefix=/ à la commande de configuration, vous obtiendrez /usr/local/bin/bash qui est à jour et /bin/bash sera toujours vulnérable.

29
unkilbeeg

Il existe également une solution consistant à mettre à jour votre fichier sources.list vers le plus récent, puis à utiliser apt-get pour mettre à jour uniquement bash. C'est très rapide et j'ai écrit un article à ce sujet. Voici ce que vous faites essentiellement:

Effectuez une mise à niveau vers les derniers référentiels apt-get "fiables" d'Ubuntu (vous devrez peut-être également modifier les anciennes adresses URL de repertoire.ubuntu.com si vous les utilisez, vérifiez l'article lié):

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

Mettre à jour le correctif bash/apply:

Sudo apt-get update
Sudo apt-get install --only-upgrade bash

Et peut-être changer en arrière les dépôts apt-get.

2
Erik Duindam