Украсть это с hft в Hacker News. Если у вас возникли проблемы с вашими репозиториями, такими как я (Odroid-XU), тогда это должно работать хорошо, если вы хотите исправить / построить из источника.
TMPDIR=/tmp/bash-src
mkdir $TMPDIR
cd $TMPDIR
#download bash
wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
#download all patches
for i in $(seq -f "%03g" 1 999); do
wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i
if [[ $? -ne "0" ]]; then
MAX=$(expr $i - 1)
break;
fi
done
tar zxf bash-4.3.tar.gz
cd bash-4.3
#apply all patches
for i in $(seq -f "%03g" 1 $MAX);do
echo apply patch bash43-$i
patch -p0 < ../bash43-$i
done
#build and install
./configure && make
sudo make install
cd ../..
rm -r $TMPDIR
Затем запустите:
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
Тогда вы все в порядке!
ВНИМАНИЕ: make install установит bash в /usr/local/bin , поэтому /bin/bash не изменяется и может быть вызван из curl !!