RHEL4/CentOS4向けのbash RPM(10/07 12:00修正)


bash脆弱性について、いろいろ状況が変わりつつあるので書き直し。

RHEL4/CentOS4サーバが生き残っている場合に、簡単に対処する方法があるのか探してみる。

まず、RedHatで情報を探すと、RHEL4については、延長サポート内では以下の脆弱性が該当するようだ。
RHSA-2014:1294-1 Critical: bash security update(CVE-2014-6271)
RHSA-2014:1311-1 Important: bash security update(CVE-2014-7169)

両方のページから情報を見ていくと、以下のページに着く。
Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271, CVE-2014-7169)

さらに、検証や、パッチを提供できない場合に状況を緩和するための方策が掲載されている、以下のページがある。
Mitigating the shellshock vulnerability (CVE-2014-6271 and CVE-2014-7169)

で・・・9/27 7時頃に「Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271, CVE-2014-7169)」を始め、各ページの情報が更新されていた。
Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271, CVE-2014-7169)」の「Products Affected:」の「Red Hat Enterprise Linux 4」欄が「bash-3.0-27.el4.4」に書き換わった。
Important: bash security update」の「Updated packages」が「bash-3.0-27.el4.4.src.rpm」に書き換わった。

というわけで、「bash-3.0-27.el4.4」が出たようだ。

RedHatの延長サポートが提供するSource RPMを入手するのは面倒なので、Oracle LinuxのSource RPMを確認。
https://oss.oracle.com/el4/SRPMS-updates/を見ると、「bash-3.0-27.0.3.el4.src.rpm」が登場している。
Changelogを確認すると、以下の様になっている。

* Fri Sep 26 2014 Todd Vierling <todd.vierling@oracle.com> - 3.0-27.0.3
- Rework env function definition for safety (Florian Weimer) [CVE-2014-7169]

* Thu Sep 25 2014 Todd Vierling <todd.vierling@oracle.com> - 3.0-27.0.2
- Preliminary fix for CVE-2014-7169

* Wed Sep 24 2014 Guangyu Sun <guangyu.sun@oracle.com> - 3.0-27.0.1
- Check for fishy environment (Ondrej Oprala) [CVE-2014-6271]
Resolves: #1141644

RHEL4の「bash-3.0-27.el4.4」での修正内容が分からないので、同等品なのかが判断できないが、不足していたCVE-2014-7169対策の一環である、ということは分かった。

とりあえず、https://oss.oracle.com/el4/SRPMS-updates/bash-3.0-27.0.3.el4.src.rpmを入手して、「rpmbuild –rebuild bash-3.0-27.0.3.el4.src.rpm」でバイナリRPMを作って、インストール・・・・

という風にやってたのですが、しばらく修正が続きそうな感じもあります。
なので、これを機会にOracle Linux 4のPublic yum repositoryを使用してしまおう、という考えもあると思います。
その場合は、「RHEL4/CentOS4をOracle Linux4に!」という別記事の方を参照してください。
この切り替えを行ってしまうと、Oracle Linuxに乗り換える、という話になるのですが、Oracle Linux 4は、それ以降のバージョンと違って、ほとんど差がないですし、元のサポートが切れたRHEL/CentOSの方に戻る、ってことも無いでしょうから、あまり問題はないのではないでしょうか?


2014/09/29 11:00追記
https://github.com/hannob/bashcheckという脆弱性チェックスクリプト

bash-3.0-27.0.3.el4での実行結果は以下の様になった。

./bashcheck
Not vulnerable to CVE-2014-6271 (original shellshock)
Not vulnerable to CVE-2014-7169 (taviso bug)
Not vulnerable to CVE-2014-7186 (redir_stack bug)
Test for CVE-2014-7187 not reliable without address sanitizer
Variable function parser inactive, likely safe from unknown parser bugs
#

ちなみに、bash-3.0-27.0.2.el4だと以下だった。

./bashcheck
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
Not vulnerable to CVE-2014-6271 (original shellshock)
Not vulnerable to CVE-2014-7169 (taviso bug)
./bashcheck: line 18: 3528 Segmentation fault    bash -c "true $(printf '<<EOF %.0s' {1..79})" 2>/dev/null
Vulnerable to CVE-2014-7186 (redir_stack bug)
Test for CVE-2014-7187 not reliable without address sanitizer
Variable function parser inactive, likely safe from unknown parser bugs
#

2014/10/07 12:00追記

上記のbashcheckがバージョンアップし、下記の脆弱性に関するチェック項目が増えました。
CVE-2014-6278

bash-3.0-27.0.3.el4での実行結果は以下の様になった。

# ./bashcheck
Testing /bin/bash ...
GNU bash, version 3.00.15(1)-release (x86_64-redhat-linux-gnu)

Variable function parser pre/suffixed [(), redhat], bugs not exploitable
Not vulnerable to CVE-2014-6271 (original shellshock)
Not vulnerable to CVE-2014-7169 (taviso bug)
Not vulnerable to CVE-2014-7186 (redir_stack bug)
Test for CVE-2014-7187 not reliable without address sanitizer
Found non-exploitable CVE-2014-6277 (lcamtuf bug #1)
Not vulnerable to CVE-2014-6278 (lcamtuf bug #2)
#

CVE-2014-6277の判定は以下で行われていた。

bash -c "f(){ x(){ _;};x(){ _;}<<a;}"

で、これを直接実行すると、以下の結果になる。

# bash -c "f(){ x(){ _;};x(){ _;}<<a;}"
セグメンテーション違反です
# echo $?
139
#

正常終了できてないから問題あり、ということですね。


以下は古い情報です。
アーカイブとして残しておきます。


昨日から、bashの脆弱性に関して騒がしい。

RHEL4/CentOS4サーバが生き残ってる場合、簡単に対処できる方法があるのか探してみる。
まず公式情報を確認。

RHSA-2014:1294-1 Critical: bash security update(CVE-2014-6271)
ここに、「Red Hat Enterprise Linux ELS (v. 4)」「bash-3.0-27.el4.2.src.rpm」があるので、RHEL4の延長サポートであれば修正が出ているようだ。

ただ、延長サポート中のRHEL Souce RPMを探すのはめんどいので、前回と同じく、Oracle LinuxのSource RPM配布場所「https://oss.oracle.com/el4/SRPMS-updates/」をチェックしてみる。

とりあえず、2014年の更新分としては、以下があった。

2014/09/24 bash-3.0-27.0.1.el4.src.rpm
2014/09/25 bash-3.0-27.0.2.el4.src.rpm
2014/06/10 openssl-0.9.7a-43.18.0.2.el4.src.rpm
2014/09/16 tzdata-2014g-1.0.1.el4.src.rpm

bash-3.0-27.0.1.el4.src.rpmなら修正済みのバージョンなんですかね?

ということで・・・「rpmbuild –rebuild bash-3.0-27.0.1.el4.src.rpm」という感じでRPMパッケージを作成してインストールっと。
下記に追加したように修正が完全ではないようでした。

注意: 上記のURLは、source RPMです。コンパイル済みのバイナリRPMは、各自が作成してください。


2014/09/26 9:30追記

bash-3.0-27.0.1.el4.src.rpmの修正内容を確認すると、下記の様に書かれている。

* Wed Sep 24 2014 Guangyu Sun &lt;guangyu.sun@oracle.com&gt; - 3.0-27.0.1
- Check for fishy environment (Ondrej Oprala)
Resolves: #1141644

Oracleの#1141644とは何かを探すと「Oracle alert ELSA-2014-1293 (bash)」で、これは、「RedHat Critical: bash security update RHSA-2014-1293 / CVE-2014-6271」に該当する。

で、「Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271, CVE-2014-7169)」を確認すると、「影響を受けるバージョン」として「Red Hat Enterprise Linux 4 bash-3.0-27.el4.2」が書かれている。

つうわけで、Oracle Linuxのbash 3.0-27.0.1はCVE-2014-7169で、RHELのbash 3.0-27.el4.2はCVE-2014-7169+CVE-2014-6271ということで、パッチが足りていない。
なおかつ、RHELのbash 3.0-27.el4.2、であっても完全な修正は行われていないので、完全な修正のためには次のバージョンを待つ必要がある、と。

じゃぁ、一時的に対処する方法はあるのか?と「Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271, CVE-2014-7169)」に記載されているworkaroundを確認
・「mod_security」を使用
・「iptablesのstringモジュール」を使用

どっちも、RHEL4には存在しないじゃないですかー


2014/09/26 13:30+18:30修正

Oracle public yum の方にbash-3.0-27.0.2.el4.src.rpmが登場
2014/09/25 bash-3.0-27.0.2.el4.src.rpm

といっても、まだ、脆弱性が残ってるバージョンになりますけどね。
とりあえず、「env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”」で確認できる脆弱性については、コレで解決してますね。
ただ、bashの脆弱性は続々発見されているので、どこまでが該当してて、対応しなければならないのかよく分からない・・・


2014/09/26 17:00おまけ

iptablesのstringモジュールって、iptables-1.3.8を持ってくれば使えるのかな?と思って、足りないヘッダファイルをRHEL5から持ってきて、RHEL4環境に入れてみたんですが、RHEL4 kernel側が対応していないので無意味でした。


2014/09/26 20:00追記

RHEL4/CentOS4をOracle Linux4に!」という別記事も書いてたりします。

上記で上げたOracle LinuxのSource RPMを元にしているYUM レポジトリを使用する、という話です。
まぁ、RHEL/CentOSではなく、Oracle Linuxに乗り換える、という話ではありますが、Oracle Linux 4は、それ以降のバージョンと違って、ほとんど差がないですから、気軽に乗り換えることができます。

Kobo glo v3.1が再起動するepub(文字エスケープ処理忘れ)


Kobo gloに、小説家になろう、から取得したテキストファイルを使って作成した自作epubファイルを突っ込もうとしたら問題が発生。

パソコンに繋いで、ファイルコピーをし、切断すると、コンテンツの読み込みが始まるわけですが、それが途中でハングアップし、Koboが再起動してしまう、というもの。

最初、ファイル数が多すぎたのかと思い、ファイル数を減らしてみても現象発生。
初期化して、1ファイルずつコピーしたところ、原因判明。

とあるepubにて問題が発生していた模様。

今回、現象が発生したファイル名は「Knight’s & Magic-n3556o.kepub.epub」

よく見てみれば怪しい文字が・・・「’」と「&」
まず、ファイル名自体があやしいのかと考え、とりあえずファイル名から該当文字列を取り除く・・・しかし、現象再発。

ファイル名の問題でないとすれば、navigation-documents.xhtmlとtoc.ncx(うちの場合、他に使うソフトの関係で、toc.ncxも入れている)のタイトル処理だろうと、「&」となっているところ「&amp;」に変更

すると、問題なく読み込み完了。

・・・きちんとエスケープ処理しないと駄目なんですね。

iPhone6みたいな中華Android


さて、iPhone6が正式に発表となりました。

iPhone6 4.7インチ 67.0×138.1×6.9mm 129g
iPhone6 Plus 5.5インチ 77.8×158.1×7.1mm 172g
の2種類が出るとのこと。

さて、中華なAndroid業界ですが、以前からiPhone5/5sでは無い、それよりも大きなiPhoneっぽい何かが販売されてきています。
ただ、それは、4.7インチ/5.0インチ/5.5インチといくつかバージョンがあり、それぞれのサイズの中でも微妙に形が違っていました。

今回、正式にiPhone6が発表されましたので比較してみましょう。

といっても、いま容易に手に入るのは、4.7インチのものと、5.0インチのものです。
まずは、本物のiPhone6の画像から・・・
iPhone6_PF_SpGry_iPhone6_PB_SpGry_iPhone6_PSL_SpGry_Homescreen-PRINT

それでは、ここから、iPhone6みたいな感じの中華Androidです。


「Kiphone i6」

4.7インチ 67.0*137.5*7.2mm 121g
MT6582(4コア)
12320_P_1407276422021
12320_P_1407276422387
背面は似てるが、前面が違うiPhone6もどき。


「Kiphone i6 LTE」

4.7インチ 67*138*6.9mm 121g
MT6572(2コア)
外形上は上記のKiphone i6とほぼ同じ
「LTE」はおそらく「LighT Edition」的な何かを意味しているw


「Kiphone i6 Ex」

4.7インチ 67*138*7mm 121g
MT6592(8コア)
ex-1
ex-2
解像度とCPUスペックが他より高いモデル。
といっても7月の販売以後、品切れ中。


「Kiphone i6 5.0インチver」

5.0インチ 71*144*7.9mm 158g
MT6582(4コア)
一番最初に登場したもので、4.7インチと5インチのiPhone6が登場する、とか噂されていた頃のもの。
old-ki6


「Sophone i6」

4.7インチ 67.0*139.5*7.5 mm 125g
MT6582(4コア)
これまた大きさが微妙という・・・
メモリが2GBというのがホントなら、まぁ、いいところか?

Solaris10でfioがコンパイルできない


Solaris10でfioをコンパイルしようとしたら、configureでエラーがでた。

./configure: 構文エラー 行 985: `GTK_CFLAGS=$' unexpected
Makefile:10: recipe for target 'config-host.mak' failed

該当行を見てみる・・・

GTK_CFLAGS=$(pkg-config --cflags gtk+-2.0 gthread-2.0)

なんで「GTK_CFLAGS=`pkg-config –cflags gtk+-2.0 gthread-2.0`」という表記じゃないんだろ?と不思議に思いつつ、とりあえず書き換え
再実行すると、他にも同様の記述が・・・

もしや、と思って、ヘッダを見てみると「#!/bin/sh」

おいこら!
bash専用命令なのに、shって書くなよ!

というわけで、ヘッダ部分だけ書き換えて対処完了

VMware toolsの配布場所:Windows&Linux&Solaris


2022/11/15修正

最近のVMware Toolsのサポート状況についてまとめ直した

Windows編

Windows Server 2008R2 SP1~Windows Server 2022 / Windows 7 SP1~Windows 11 12.1.0(随時更新中,最新ESXi同梱版?)
 ReleaseNote:
 https://customerconnect.vmware.com/ja/downloads/details?downloadGroup=VMTOOLS1210&productId=742
 https://packages.vmware.com/tools/releases/12.1.0/windows/

Windows Server 2008 SP2 / Vista SP2用 11.0.6(最終)
 ReleaseNote:
 https://customerconnect.vmware.com/ja/downloads/details?downloadGroup=VMTOOLS1106&productId=742
 https://packages.vmware.com/tools/releases/11.0.6/windows/

Linux編

RHEL7以降はopen-vm-toolsを使う
 VMware support for open-vm-tools (2073803)

RHEL6/CentOS6用 10.3.25(随時更新中,最新ESXi同梱版?)
 ReleaseNote:
 https://customerconnect.vmware.com/ja/downloads/details?downloadGroup=VMTOOLS10325&productId=974
 https://packages.vmware.com/tools/releases/10.3.25/rhel6/

RHEL5/CentOS5用 10.3.22(最終)
 ReleaseNote:
 https://customerconnect.vmware.com/en/downloads/details?downloadGroup=VMTOOLS10322&productId=1072
 https://packages.vmware.com/tools/releases/10.3.22/rhel5/
 なお、RHEL5はSSL1.2に非対応のため、2022年11月現在RHEL5サーバ上からhttpsアクセスがほぼ不可能になっていることに注意

Ubuntu 14.04以降はopen-vm-toolsを使う
 VMware support for open-vm-tools (2073803)

Ubuntu 10.04/11.04/11.10/12.04用 10.3.25(随時更新中)
 ReleaseNote:
 https://customerconnect.vmware.com/ja/downloads/details?downloadGroup=VMTOOLS10325&productId=974
 https://packages.vmware.com/tools/releases/10.3.25/ubuntu/dists/
 なお、SSL1.2に非対応であるなら2022年11月現在サーバ上からhttpsアクセスがほぼ不可能になっていることに注意
 (Ubuntuの対応について調べていない)

Solaris x86編

Solaris 10 x86用 10.3.10(最終)
 ReleaseNote:
 https://customerconnect.vmware.com/ja/downloads/details?downloadGroup=VMTOOLS10310&productId=742


↓は参考用の過去の記録

古いOSだとSSL1.2非対応のため、httpsアクセスができなくなっていることに注意のこと


VMware toolsのダウンロードURLを調べていたら、Linuxディストリビューションの一部では、yumコマンドでダウンロードできるようなレポジトリファイルも配布されているのを発見したのでメモ書き。

バージョンごとの配布場所:
 https://packages.vmware.com/tools/releases

VMwareにあるvmware-tools配布場所:「https://packages.vmware.com/tools/esx/latest/index.html

Linux向けvmware-toolsについて

Linux向けレポジトリのファイル置き場:

vSpehre 6.7向け: https://packages.vmware.com/tools/esx/6.7latest/repos/
vSphere 7.0向け: https://packages.vmware.com/tools/esx/7.0/repos

レポジトリファイルは、上記4つの他に、SLES11.0, SLES11.1, SLES11.2, SLES11.3, Ubuntu10.04, Ubuntu11.10, Ubuntu12.04が公開されている。

RHEL/CentOSのyumコマンドでインストールする場合、
必要なドライバを一通りインストールする「yum install vmware-tools-esx-nox 」でインストールされるパッケージ

vmware-tools-esx-nox         
vmware-tools-core            
vmware-tools-foundation      
vmware-tools-guestlib        
vmware-tools-libraries-nox   
vmware-tools-plugins-autoUpgrade
vmware-tools-plugins-deployPkg
vmware-tools-plugins-guestInfo
vmware-tools-plugins-hgfsServer
vmware-tools-plugins-powerOps
vmware-tools-plugins-timeSync
vmware-tools-plugins-vix     
vmware-tools-plugins-vmbackup
vmware-tools-services

最小限ってことで「yum install vmware-tools-thinprint」でインストールされるパッケージ

vmware-tools-thinprint
vmware-tools-core
vmware-tools-foundation
vmware-tools-guestlib
vmware-tools-libraries-nox
vmware-tools-services

+追加でOSパッケージがいくつか
vmxnet3,vmw_pvscsi,vmware_balloonがインストールされるけど、vmware-tools-esx-noxでインストールした方がいい。

X-Windowsドライバを含めたインストールを行う「yum install vmware-tools-esx」でインストールされるパッケージ

vmware-tools-esx
vmware-tools-core         
vmware-tools-esx-nox      
vmware-tools-foundation   
vmware-tools-guestlib     
vmware-tools-libraries-nox
vmware-tools-libraries-x  
vmware-tools-plugins-autoUpgrade
vmware-tools-plugins-deployPkg
vmware-tools-plugins-desktopEvents
vmware-tools-plugins-guestInfo
vmware-tools-plugins-hgfsServer
vmware-tools-plugins-powerOps
vmware-tools-plugins-resolutionSet
vmware-tools-plugins-timeSync
vmware-tools-plugins-unity
vmware-tools-plugins-vix
vmware-tools-plugins-vmbackup
vmware-tools-services
vmware-tools-user

+追加でOSパッケージがいくつか

RHEL7/CentOS7など最近のLinuxでは、open-vm-toolsでのサポートになっているため、上記のモノは使用しない。

open-vm-tools に対する VMware のサポートについて (2074713)(英語の原文:VMware support of open-vm-tools (2073803))

具体的には以下のOSが対象となる。
・Fedora 19 and later releases
・Debian 7.x and later releases
・openSUSE 11.x and later releases
・Recent Ubuntu releases (12.04 LTS, 13.10 and later)
・Red Hat Enterprise Linux 7.0 and later releases
・SUSE Linux Enterprise 12 – available Q4 2014

RHEL5向けのvmware toolsの最終版は VMware Tools 10.3.22
また、RHEL5/CentOS5はTLS1.2に対応していない(TLS1.0/1.1のみ)ため、最近のWebサイトからwget/curlおよびyumコマンドでのアクセスができないことに注意
ISOファイルは Download Product:VMware Tools 10.3.22 から入手できる


Windows向けvmware-toolsについて

Windows版vmware-tools配布場所:https://packages.vmware.com/tools/esx/latest/windows/index.html

Windows Server 2008 SP2 / Windows Vista SP2の最終サポート: VMware Tools 11.0.6 (ダウンロードURL VMware Tools 11.0.6)

VMware tools 12.0.0以降からネットワークアダプタ VMXNet2(拡張)が使えなくなりました。いまだに使っている場合はVMXNet3に変更する必要がある(VMwware Tools 12.0.5リリースノートより)


Solaris x86向けvmware-toolsについて

Solaris x86をインストールした時に、VMware-toolsを探したのでメモ書きとして追加

公式文書としては「Installing and upgrading the latest version of VMware Tools on existing hosts (2129825)」が出てくるんだけど、Solaris用のVMware-toolsがどこから入手できるのかMy VMwareからダウンロードできるよ、しか書いてない。

[Product Download]-[VMware vSphere]で「Drivers&Tools」を選択し、「VMware Tools」のツリーを開く

いろいろ表示されている中の「VMware Tools 11.0.6」か「VMware Tools 11.1.0」を選択

するとリンク先には「Solaris用はVMware Tools 10.3.10が最後」と誘導されているので、そのリンクを飛ぶと、「VMware Tools packages for Solaris and OS X」がダウンロードできる。

これを展開して、ESXiの /usr/lib/vmware/isoimages に配置する。

といってもこれは /productLocker/vmtools/ へのシンボリックリンクになっている。

この「/productLocker」をさす先は、ESXiの設定でUserVars.ProductLockerLocation を使って指定する。

指定したディレクトリ内に「vmtools」というディレクトリを作成し、その中にisoイメージなどを展開しておくと、これを使ってVMware toolsのインストールをすることができるようになる。