如何在 EOL Ubuntu 版本上更新 bash?

Dar*_*ook 6 command-line ubuntu shellshock

即我可以在下一个最近的发行版中找到足够接近的软件包吗?还是比较复杂,从源码编译比较好?或者我可以从 debian 中获取它吗?

(这个问题至少是关于 Ubuntu 11.10 和 12.10 的;我敢打赌其他人会遇到这个问题,所以如果建议不同,具体取决于哪个生命周期结束的 Ubuntu,它可能有助于说明如何!)

PS“升级”不会被接受作为答案;-)我知道,但有时退役/升级/更换服务器需要时间,我想先修补bash。

joe*_*dle 3

Quantal(Ubuntu 12.10)的简短回答:从精确的存储库下载并安装bash 软件包。

演练

对于 Quantal (Ubuntu 12.10),我从附近的版本中搜索了 bash 软件包。我下载了rarring和precise的软件包。

在开始之前,我对现有的 bash 软件包进行了备份,这样如果全新安装失败,我就有希望恢复我的系统。(需要 dpkg-repack 软件包。)

$ dpkg-repack bash
Run Code Online (Sandbox Code Playgroud)

尽管我可能应该将可执行文件复制/bin/bash/root/bash.vulnerable,因为这样在紧急情况下更容易恢复。

拉林

首先我尝试了raring 的软件包

$ dpkg -i bash_4.2-5ubuntu3_i386.deb
Run Code Online (Sandbox Code Playgroud)

但经测试仍然脆弱

精确的

然后我尝试了Precision 的软件包

$ dpkg -i bash_4.2-2ubuntu2.6_i386.deb
Run Code Online (Sandbox Code Playgroud)

使用bashcheck 脚本测试是安全的

Testing /bin/bash ...
GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu)

Variable function parser pre/suffixed [%%, upstream], bugs not exploitable
Not vulnerable to CVE-2014-6271 (original shellshock)
Not vulnerable to CVE-2014-7169 (taviso bug)
Not vulnerable to CVE-2014-7186 (redir_stack bug)
Test for CVE-2014-7187 not reliable without address sanitizer
Not vulnerable to CVE-2014-6277 (lcamtuf bug #1)
Not vulnerable to CVE-2014-6278 (lcamtuf bug #2)
Run Code Online (Sandbox Code Playgroud)

但我真的希望我安装了 LTS 版本。等有时间我还是打算升级一下……