yumアップデートの差し戻し手順

リポジトリに現行バージョンの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