Tôi đã phải vá một máy chủ CentOS 4.9 cũ, vì vậy tôi đã lấy RPM nguồn mới nhất từ Red Hat FTP và thêm bản vá ngược dòng từ FTP FTP. Các bước dưới đây:
Trước tiên, hãy làm theo quy trình "Cài đặt" từ http://bradthemad.org/tech/notes/patching_rpms.php :
echo "%_topdir /home/$(whoami)/src/rpm" > ~/.rpmmacros
mkdir -p ~/src/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS
mkdir -p ~/src/rpm/RPMS/{i386,i486,i586,i686,noarch,athlon}
Sau đó chạy các lệnh sau từ% _topdir của bạn:
cd ~/src/rpm
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 ..
Bản vá SpecS / bash.spec với diff này:
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
Sau đó kết thúc với các lệnh sau:
rpmbuild -ba SPECS/bash.spec
sudo rpm -Uvh RPMS/i386/bash-3.0-27.2.i386.rpm
Chỉnh sửa: Các bình luận mới nhất trong Red Hat Bugzilla nói rằng bản vá không đầy đủ. ID mới là CVE-2014-7169.
Chỉnh sửa: Có hai bản vá bổ sung từ gnu.org, do đó, cũng tải chúng xuống cùng thư mục 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
Sau đó, cũng chỉnh sửa tùy chọn số SpecS / bash.spec như sau (tùy chọn đánh số "Phát hành"):
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