ВАЖНО - я пока не закончил процедуру для хост системы, пока сделал в chroot. Так что пишу пока для себя, возможны изменения и затыки.
У меня когда-то был установлен Finch http://2gusia.livejournal.com/tag/chroot
Особо его я не использовал, даже джейлы под ним не создавал. Сейчас вошёл - версия bash, естественно, уязвимая.
1) Апдейтим FreeBSD в chroot
http://dreamcat4.github.io/finch/upgrading/ раздел Minor updates to FreeBSD
2) заходим в chroot (если ещё не зашли в предыдущем пункте)
nas4free ~/ root~$ finch chroot finch: chrooting to "/mnt/Pool/Finch". nas4free // root^>
Обратите внимание на изменение системного приглашения на root^>
3) Смотрим версию bash - она старая
bash --version
4) Апдейтим порты
portsnap fetch update
5) Апгрейдим утилиту pkg
cd /usr/ports/ports-mgmt/pkg make BATCH=yes build make BATCH=yes deinstall make BATCH=yes reinstall
6) И сам bash
cd /usr/ports/shells/bash make BATCH=yes build make BATCH=yes deinstall make BATCH=yes reinstall
7) Любуемся результатом
nas4free bash/ root^> bash -version GNU bash, version 4.3.26(0)-release (amd64-portbld-freebsd9.2) Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. nas4free bash/ root^> env x='() { :;}; echo vulnerable' bash -c "echo hello" hello
8) выходим в хост и видим, что на завтра нам попытка апдейта
nas4free bash/ root^> exit logout nas4free ~/ root~$ bash -version GNU bash, version 4.2.45(0)-release (amd64-portbld-freebsd9.2) Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. nas4free ~/ root~$ env x='() { :;}; echo vulnerable' bash -c "echo hello" vulnerable hello
Источник