Как мне собрать bash, чтобы исправить патч и проверить его перед установкой в ​​корень моей системы?

1474
Adam Terrey

Что не так с моим кодом ниже? Я загружаю и исправляю патч 18, который, как я понимаю, является патчем для уязвимости в shellchock. Но я все еще получаю уязвимость при запуске Bash.

Скачать исходный код и патчи

wget http://ftp.gnu.org/gnu/bash/bash-3.1.tar.gz wget http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-00 http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-0 

Распакуйте и примените патчи

tar -xvf bash-3.1.tar.gz cd bash-3.1 find ../bash31-??? -exec /bin/sh -c 'patch -p0 <{}' \; 

(Asside: приведенная выше команда find просто возвращает отсортированный список из-за сбоев в оболочке, но я знаю, что это не всегда верно для поиска find)

Конфиг, Сделать, Сделать Установить

./configure --prefix /tmp/bash_patched && make && make install 

Запустить баш

/tmp/bash_patched/bin/bash 

Следующее должно вернуться /tmp/bash_patched/bin/bash 3.1.18(1)-release

echo $BASH $BASH_VERSION 

Сделать тест на удар

env X="() { :;} ; echo busted" /bin/sh -c "echo stuff" 

Для меня это возвращается

busted stuff 
-1

3 ответа на вопрос

1
Adam Terrey

Проблема в тесте /bin/shостается уязвимой в системе до момента установки в корне. Лучший тест будетenv X="() { :;} ; echo busted" /tmp/bash_patched/bin/bash -c "echo stuff"

0
Dobromir Velev

The shellshock patches are actualy 19 and 20. The wget is not downloading those. Haven't tested it yet but changing the second command to

wget http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-00 http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-0 http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-020 

should make it work

версия, которую я вижу, 3-1.20 (1) - хорошо, моя вина - патчи начинаются с 18. На самом деле это более поздние обновления, исправляющие другие связанные проблемы Dobromir Velev 10 лет назад 0
0
JanFrazini

Did you try looking at the script described in Super User question 816787? It worked like a champ for my Ubuntu machines, about 15 min per server including VMware snapshots, with no reboot required.

Похожие вопросы