如何针对CVE-2014-6271和CVE-2014-7169中的bash漏洞修补RHEL 4?

昨天和今天(2014年9月24日)广泛报告了通过Bash远程执行代码的机制。http://seclists.org/oss-sec/2014/q3/650报告为CVE-2014-7169或CVE-2014 -6271

由于我愚蠢的原因,我公开解释,我负责运行RHEL 4的服务器,没有更新订阅。 我可以build立一个克隆来testing这个,但我希望有人会有一个直接的答案。

  1. Centos 4中的/ bin / bash已经被修补,还是会被修复?
  2. 我可以将一个(大概修补的)Centos 4 / bin / bash插入我的RHEL系统,作为一个解决方法,将会给我几个星期的时间? (我需要到十二月十号)

我必须修补一个旧的CentOS 4.9服务器,所以我从Red Hat FTP中取出了最新的源RPM,并从GNU FTP中添加了上游补丁。 步骤如下:

首先,按照http://bradthemad.org/tech/notes/patching_rpms.php中的“安装”过程。

然后从%_topdir运行以下命令:

 wget http://ftp.redhat.com/redhat/linux/updates/enterprise/4ES/en/os/SRPMS/bash-3.0-27.el4.src.rpm rpm -ivh bash-3.0-27.el4.src.rpm cd SOURCES wget http://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-017 cd .. 

修补程序规格/ bash.spec与此差异:

 4c4 < Release: 27%{?dist} --- > Release: 27.2%{?dist} 28a29 > Patch17: bash30-017 110c111,112 < #%patch16 -p0 -b .016 --- > %patch16 -p0 -b .016 > %patch17 -p0 -b .017 

然后完成这些命令:

 rpmbuild -ba SPECS/bash.spec sudo rpm -Uvh RPMS/i386/bash-3.0-27.2.i386.rpm 

如果有人知道一个简单的方法来上传他们,我会把我的来源和RPM。

编辑:红帽Bugzilla的最新评论说补丁是不完整的。 新的ID是CVE-2014-7169。

编辑:从gnu.org有两个额外的补丁,所以也下载到相同的SOURCES目录:

 wget http://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-018 wget http://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-019 

然后还可以按如下方式编辑SPECS / bash.spec(“Release”编号可选):

 4c4 < Release: 27%{?dist} --- > Release: 27.2.019%{?dist} 28a29,31 > Patch17: bash30-017 > Patch18: bash30-018 > Patch19: bash30-019 110c113,116 < #%patch16 -p0 -b .016 --- > %patch16 -p0 -b .016 > %patch17 -p0 -b .017 > %patch18 -p0 -b .018 > %patch19 -p0 -b .019 

RHEL 4处于“延长寿命”阶段,安全更新将仅供付费客户使用。 CentOS 4自2012年3月起不再支持。自此以后,没有更多的更新可用。

你唯一的select是

  • 与RedHat购买支持合同
  • 尝试为Bash构build自己的包。
  • 或者获胜选项:淘汰这台机器,并使用这个安全问题作为奖励。

一个名叫刘易斯·罗森塔尔的善良的灵魂已经在他的FTP服务器上放置了更新的CentOS 4的Bash RPMS。 bash-3.0-27.3 RPM被认为符合CVE-2014-6271,CVE-2014-7169,CVE-2014-7186和CVE-2014-7187。 他有一个自述文件,提供更多的信息,并在CentOS论坛上进行了一些讨论 。 不要忘记这个有用的一体化检查脚本 -注意到CVE-2014-7186检查将会失败并出现分段错误,但仍然认为是可以的,因为针对该漏洞的一些其他testing可以正常运行。

我会说,要么遵循@ tstaylor7的指示 ,从源代码build立自己的补丁RPM或安装上述。 当我尝试时,他们在检查脚本中都有相同的结果。