リポジトリに現行バージョンのrpmがない場合
アップデート前にrpmrebuildで現行のrpmバックアップ
# yum --enablerepo=epel install rpmrebuild
# rpmrebuild bash
result: /root/rpmbuild/RPMS/x86_64/bash-4.1.2-15.el6_4.x86_64.rpm
Yumでアップデート
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
# yum update bash
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test
作成したrpmでダウングレード
# rpm -Uhv --oldpackage /root/rpmbuild/RPMS/x86_64/bash-4.1.2-15.el6_4.x86_64.rpm
# rpm -q bash
bash-4.1.2-15.el6_4.x86_64
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
リポジトリに現行バージョンのrpmがある場合
Yumでアップデート
# yum list --showduplicates bash
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
# rpm -q bash
bash-4.1.2-15.el6_4.x86_64
# yum update bash
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test
Yumでダウングレード
# yum downgrade bash-4.1.2-15.el6_4.x86_64
# rpm -q bash
bash-4.1.2-15.el6_4.x86_64
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test