GNU bash の脆弱性(10/28 追記)
あぁ,またもや大型爆弾が。 しかも bash かよ。 既に皆さんご存知と思いますが,一応覚え書きとして。
- Bourne Again Shell (Bash) Remote Code Execution Vulnerability | US-CERT
- GNU bash の脆弱性に関する注意喚起
- bash の脆弱性対策について(CVE-2014-6271 等):IPA 独立行政法人 情報処理推進機構
- bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog
- 「Bash」のバグを利用する攻撃、早くも見つかる - ZDNet Japan
- bashの脆弱性が、アップデートしないとガチであかんやつだった | No:9675 | 早乙女珈琲店
- bashシェルの修正パッチは不完全、脆弱性突く攻撃の報告も - ITmedia エンタープライズ
- Shellshock攻撃をリアルタイムで見つけてくれるシステムモニタSysdig - TechCrunch (9/27 追記)
- GNU Bourne-Again Shell (Bash) ‘Shellshock’ Vulnerability (CVE-2014-6271, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187, CVE-2014-6277 and CVE 2014-6278) | US-CERT (10/02 追記)
- CentOS 4.x での Shell Shock 対策 - 電気ウナギ的○○ (10/02 追記)
- Vulnerability Note VU#252743 - GNU Bash shell executes commands in exported functions in environment variables (10/02 追記)
- JVNVU#97219505: GNU Bash に OS コマンドインジェクションの脆弱性 (10/02 追記)
- 「Git for Windows」がアップデート、「bash」の“ShellShock”脆弱性に対応 - 窓の杜 (10/03 追記)
- Bash ShellShock バグ (CVE-2014-6271, CVE-2014-7169, CVE-2014-6277, CVE-2014-6278, CVE-2014-7186, CVE-2014-7187) 修正情報まとめ (10/08 追記)
- hannob/bashcheck (10/08 追記)
- Webminの脆弱性+bashの脆弱性でトロイの木馬がroot権限で入る - M.C.P.C. (Mamesibori Creation Plus Communication) (10/10 追記)
- TCP 10000番ポートへのスキャンの増加に関する注意喚起 (10/10 追記: Webmin 経由で bash の脆弱性を突く攻撃が増加している模様)
- GNU bash の脆弱性と逆引きDNSの悪用に関する注意喚起 - JPNIC (10/18 追記)
- bashの脆弱性突く攻撃続く、SMTPボットネットも出現 - ITmedia エンタープライズ (10/28 追記)
- 「Shellshock」脆弱性を悪用したメールサーバへの攻撃が確認される - ZDNet Japan (10/28 追記)
「追加情報」も参照のこと。
GNU bash の環境変数の処理には脆弱性があります。外部からの入力が、GNU bash の環境変数に設定される環境において、遠隔の第三者によって任意のコードが実行される可能性があります。
GNU bash の脆弱性に関する注意喚起より
The flaw was originally assigned CVE-2014-6271, but it was later discovered that the patch had an issue in the parser and did not fully address the problem. MITRE later assigned CVE-2014-7169 to cover the remaining problems after the application of the first patch.
Bourne Again Shell (Bash) Remote Code Execution Vulnerability
また、セキュリティ研究者のRobert Graham氏は、この脆弱性を持つシステムを少なくとも3000件発見したと述べている。ただし、このスキャンで調べているのはシステムの80番ポートだけで、本当に危険なのはポート番号を変えている組み込みウェブサーバであり、これらをスキャンすれば「この2倍の結果が出るだろう」としている。
「Bash」のバグを利用する攻撃、早くも見つかるより
JPCERT/CC の alert では status が更新されているので最新情報をチェックしておくこと。 現在の情報としては
一部ディストリビュータが提供している bash では、修正が不十分であった箇所(CVE-2014-7169)を修正したパッチがリリースされています。III. 対策を参照し、修正済みバージョンの適用について検討してください。
GNU bash の脆弱性に関する注意喚起より
とある。 「一部ディストリビュータ」てのは Red Hat のことだが, Red Hat 系のシステムについては最新版をチェックしてアップデートすべし。 問題は本家の GNU Project で, CVE-2014-6271 に対するパッチは出てるようだけど CVE-2014-7169 についてはまだ出てないっぽい。
9月27日 追記: 本家の GNU Project でも最新のパッチがリリースされている。 Red Hat 系以外も速やかにアップデートすること。
bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた
で CVE-2014-6271 に対する簡易チェック方法が紹介されている。 具体的には次のコマンドを実行する。
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
これで
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" vulnerable this is a test
と表示されれば今回の脆弱性の影響を受ける。 一方
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" bash: warning: x: ignoring function definition attempt bash: error importing function definition for `x' this is a test
なら問題はない。 レンタルサーバを利用している人などは簡単に bash をアップデート出来ない可能性があるので,この簡易チェックの結果を見てサービスプロバイダに進言するか,それも無理なら脆弱性を回避する方向で検討して欲しい。 回避方法は次の通り。
- GNU bash を代替のシェルに入れ替える
- WAF や IDS を用いて脆弱性のあるサービスへの入力にフィルタをかける
- 継続的なシステム監視を行う
これねぇ。 とりあえずサーバ機はなんとかなると思うけど,問題はそれ以外なのよ。
例えばサーバなどのシステムはパッチが当てられたとしても、Web対応のビデオカメラといった「モノのインターネット」や、ネットワーク上の古いデバイスなどは脆弱性が放置される公算が大きいと予想している。
bashシェルの修正パッチは不完全、脆弱性突く攻撃の報告もより
もちろん構成によるんだけど,ルータなんかも危ないところだよね。
同氏はまた、アドバイザリで報告されているように、DHCPサービスにも脆弱性があると警告している。「この簡単なスキャンでは3000件しか発見できなかったが、これは明らかにワーム攻撃の対象となるもので、簡単にファイアウォールの裏側に達し、多くのシステムに感染する可能性がある。重要な問題は、Mac OS Xと『iPhone』のDHCPサービスにこの脆弱性があるかどうかだ。ワームがファイアウォールの裏側に入り、悪意のあるDHCPサーバーが実行されれば、大規模ネットワークが『ゲームオーバー』」になってしまう」(Graham氏)
「Bash」のバグを利用する攻撃、早くも見つかるより
これはしばらく注視する必要がある。
10月2-8日 追加情報
いわゆる Shellshock
脆弱性は現在6つの脆弱性を含んでいる。
CVE 番号 | 想定される影響 | 修正バージョン(4.3) |
---|---|---|
CVE-2014-6271 | 任意のコードの実行 | 4.3-Patch25 |
CVE-2014-7169 | 任意のコードの実行 | 4.3-Patch26 |
CVE-2014-7186 | サービス運用妨害 (DoS) | 4.3-Patch28 |
CVE-2014-7187 | サービス運用妨害 (DoS) | 4.3-Patch28 |
CVE-2014-6277 | サービス運用妨害 (DoS) | 4.3-Patch30 |
CVE-2014-6278 | 任意のコードの実行 | 4.3-Patch30 |
Shellshock
脆弱性(10/05 更新)全ての脆弱性に対応するには 4.3-Patch28 (または 4.2-Patch51, 4.1-Patch15, 4.0-Patch42, 3.2-Patch55, 3.1-Patch21, 3.0-Patch20, 2.05b-Patch11)まで適用する必要がある(ただし CVE-2014-6277/CVE-2014-6278 への対応は「軽減」レベルらしい)。
(10/03 追記:CVE-2014-6277 への根本的な対処を一部行った 4.3-Patch29, 4.2-Patch52, 4.1-Patch16, 4.0-Patch43, 3.2-Patch56, 3.1-Patch22, 3.0-Patch21, 2.05b-Patch12 が出ている)
各ベンダの対応状況については VND のページが参考になる。 国内メーカについては JVN のページが参考になる。 影響が及ぶのはサーバ機のみではなく,ハードウェア製品のファームウェアも含むので注意すること。 またベンダによって対応度が異なるので上述の脆弱性に全て対応していない場合は引き続き情報を注視する必要がある。 (例: Mac OS X は修正バージョンが出ているが CVE-2014-7169 までしか対応していない)
10/08 追記
4.3-Patch29 の不具合を修正した 4.3-Patch30 (または 4.2-Patch53, 4.1-Patch17, 4.0-Patch44, 3.2-Patch57, 3.1-Patch23, 3.0-Patch22, 2.05b-Patch13)がリリースされている。 初期の脆弱性のみ対応しているベンダやサービスプロバイダが非常に多い。 自力で対応できない場合はベンダやサービスプロバイダに働きかける必要があるかもしれない。
GitHub にて脆弱性チェッカが公開されている。
脆弱性ごとに判定してくれるので気になる方は試してみると良い。