CVE-2015-0235

2015年01月30日

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

CVE-2015-0235: GHOST Buster シェルスクリプト #CentOS-6 | blog.hansode.orgのCentOS-7編。

CVE-2015-0235関連

RHEL-7 / CentOS-7 関連

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

2015/01/30時点の対応

検証用にbuildワーカーを複数環境扱ってるので、それぞれ対応する必要があった。CentOS-7系に関しては7.0.1406のみで良いので対応は大分軽度だ。手順と動作を確認し、上手く行ったのが下記シェルスクリプト。

 ghost-buster-rhel7.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
  7.0.1406)
    yum update  -y \
      glibc \
      glibc-common \
      glibc-devel \
      glibc-headers
    ;;
esac

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

あとがき

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




編集
@hansode at 18:00|PermalinkComments(0)TrackBack(0)

2015年01月29日

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

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が入れ替わる。

あとがき

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

続きを読む


編集
@hansode at 21:30|PermalinkComments(0)TrackBack(0)