答案1
这篇文章很有帮助,并且适用于我仍然需要支持的 Ubuntu 12.10(Quantal)的几个实例。
总结一下,步骤如下:
获取当前版本的代号(例如 quantum)并将其存储在变量中:
lsb_release -a DISTRIB_CODENAME=quantal
将来源更改为可信任
/etc/apt/sources.list
。例如,sudo sed -i "s/$DISTRIB_CODENAME/trusty/g" /etc/apt/sources.list
更新和升级 bash
sudo apt-get update sudo apt-get install --only-upgrade bash
验证最新版本是否未通过以下测试(即您不应该看到“busted”)
env X="() { :;} ; echo busted" `which bash` -c "echo completed"
将 /etc/apt/sources.list 恢复为使用当前代号。例如,
sudo sed -i "s/trusty/$DISTRIB_CODENAME/g" /etc/apt/sources.list
答案2
https://shellshocker.net/#fix有一些用于手动更新 bash 的好工具。
curl https://shellshocker.net/fixbash | sh
您还可以测试您的系统是否存在漏洞:
curl https://shellshocker.net/shellshock_test.sh | bash
运行它需要您自担风险。如果上述链接过期或您不想信任它,它将运行以下脚本:
cd ~/
mkdir bash-shellshocker
cd bash-shellshocker
echo "Downloading Bash..."
wget https://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
echo "Downloading Bash patches..."
i=0
rtn=0
while [ $rtn -eq 0 ]; do
i=`expr $i + 1`
wget https://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$(printf '%03g' $i)
rtn=$?
done
i=`expr $i - 1`
echo "Extracting bash from tar.gz..."
tar zxvf bash-4.3.tar.gz
cd bash-4.3
echo "Applying Patches..."
for j in $(seq -f "%03g" 1 $i);do patch -p0 < ../bash43-$j; done
echo "Ready to install. Configuring..."
./configure --prefix=/
echo "Running make"
make
if [[ "$USER" == "root" ]]
then
echo "Running make install"
make install
cp /bin/bash /usr/local/bin/bash
else
echo "Running make install (You may need to type your sudo password here)"
sudo make install
sudo cp /bin/bash /usr/local/bin/bash
fi
https://github.com/wreiske/shellshocker/blob/master/fixbash是可以找到脚本的地方
祝你好运
答案3
由于您只应从认可的提供商处安装此类安全更新,因此从源代码编译的解决方案是您唯一的解决方案。
答案4
lumpygator 的答案对我有帮助,但我认为这太复杂了。如果您只想从较新的 ubuntu 版本安装一个软件包,则无需编辑sources.list
,您可以直接下载该软件包并安装它。因此,如果出现 bash shellshock 错误,请转到http://packages.ubuntu.com/trusty/amd64/bash/download,点击“* security.ubuntu.com/ubuntu”链接,这将下载文件bash_4.3-7ubuntu1.5_amd64.deb
。或者,您可以运行以下命令:
wget http://security.ubuntu.com/ubuntu/pool/main/b/bash/bash_4.3-7ubuntu1.5_amd64.deb
获得新包后,你可以直接使用以下命令安装它:
dpkg -i bash_4.3-7ubuntu1.5_amd64.deb
这在 Saucy (13.10) 上对我有用。
(如果您有 32 位系统,请将 amd64 替换为 i386。)