2015年01月29日

CVE-2015-0235: GHOST Buster シェルスクリプト #CentOS-6

このエントリーをはてなブックマークに追加

CVE-2015-0235関連

RHEL-6 / CentOS-6 関連

glibcを入れ替える必要がある。

2015/01/29時点の対応

検証用にbuildワーカーを複数環境扱ってるので、それぞれ対応する必要があった。updatesが反映されているのは6.6のみ。それ以下を放置する訳にもいかない。それゆえ、6.66.[0-5]と言う場合分けが必要だ。手順と動作を確認し、上手く行ったのが下記シェルスクリプト。

 ghost-buster-rhel6.sh

バージョン判定には、

  • /etc/yum/vars/releaseverが存在する場合は使用し、
  • 存在しない場合は/etc/centos-releaseから情報取得
#!/bin/bash
#
# requires:
#  bash
#
set -e
set -o pipefail
set -x

if [[ -f /etc/yum/vars/releasever ]]; then
  releasever=$(< /etc/yum/vars/releasever)
else
  releasever=$(
   sed \
    -e '/^CentOS /!d' \
    -e 's/CentOS.*\srelease\s*\([0-9][0-9.]*\)\s.*/\1/' \
    < /etc/centos-release
  )
fi

arch=$(arch)
case "${arch}" in
  i*86)   basearch=i386 arch=i686 ;;
  x86_64) basearch=${arch} ;;
esac

case "${releasever}" in
  6.6)
    yum update  -y \
      glibc \
      glibc-common \
      glibc-devel \
      glibc-headers
    ;;
  6.[0-5])
    expected_version=2.12-1.149.el6_6.5
    case "$(rpm -qa --qf '%{Version}-%{Release}\n' glibc)" in
      ${expected_version})
        ;;
      *)
        base_uri=http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.6/updates/${basearch}/Packages
        yum install -y \
          ${base_uri}/glibc-${expected_version}.${arch}.rpm \
          ${base_uri}/glibc-common-${expected_version}.${arch}.rpm \
          ${base_uri}/glibc-devel-${expected_version}.${arch}.rpm \
          ${base_uri}/glibc-headers-${expected_version}.${arch}.rpm
        ;;
    esac
    ;;
esac

対象環境で実行するとglibcが入れ替わる。

あとがき

手元に都合の良く手頃な検証環境があるのは幸せな事か。



【Amazon.co.jp限定】ゴーストバスターズ 30周年記念 1&2パック(スチールブックケース付) [Steelbook] [Blu-ray]
ソニー・ピクチャーズエンタテインメント (2014-09-24)
売り上げランキング: 8,271



編集
@hansode at 21:30│Comments(0)TrackBack(0)bash 

トラックバックURL

コメントする

このブログにコメントするにはログインが必要です。