Archive for septembre, 2014

Patcher bash sur une distribution plus supportee comme fedora 11

Pour ceux qui ont des serveurs roulant sur des vieilles fedora, il est nécessaire de mettre a jour la version de bash afin de corriger le bug de sécurité découvert récemment :
http://arstechnica.com/security/2014/09/bug-in-bash-shell-creates-big-security-hole-on-anything-with-nix-in-it/
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271
https://www.us-cert.gov/ncas/alerts/TA14-268A

Ici sur une fedora 11 qui n’est plus supportée, on va downloader la derniere version de bash et patcher le code, afin de fixer le probleme.

Voici les etapes :

On va dans le dossier ou on stocke generalement le source de nos programmes :
[bash]cd /usr/local/src[/bash]

Puis on va downloader la derniere version de bash
[bash]wget http://ftp.gnu.org/pub/gnu/bash/bash-4.3.tar.gz[/bash]

On decompresse le dossier :
[bash]tar xvzf bash-4.3.tar.gz[/bash]

On va dans le dossier extrait :
[bash]cd bash-4.3[/bash]

On download le patch qui limite le probleme de securite :
[bash]wget http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-025[/bash]

On patch le code source :
[bash]patch -p0 < bash43-025[/bash]
(le patch est ok malgre l’erreur relative au patch de la revision – cette erreur apparait car nous n’avons pas applique tous les 24 patches precedents – vous pouvez downloader les patches un par un depuis le serveur de sources : http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/ et tous les appliquer un par un)

On va rouler le configure :
[bash]./configure[/bash]

On compile
[bash]make[/bash]

Si tout est ok, on install :
[bash]make install[/bash]

Comme les version compilee vont s’installer par defaut dans /usr/local/bin alors que les binaires de la distrib vont par defaut dans /bin ou /usr/bin on va devoir renommer l’ancien binaire, et creer un lien vers le nouveau :
[bash]mv /bin/bash /bin/bash-distorig
ln -s /usr/local/bin/bash /bin/[/bash]

et voila, il n’a plus qu’a tester l’exploit comme suit pour s’assurer qu’on a regle le probleme :
[bash]env x='() { :;}; echo vulnerable’ bash -c "echo this is a test"[/bash]

Loading

Tags:

samedi, septembre 27th, 2014 Bash, Paranoïa, Technologie Aucun commentaire