GNU Bash における OS コマンドインジェクションの脆弱性(Shellshock)(Scan Tech Report) | ScanNetSecurity
2022.08.15(月)

GNU Bash における OS コマンドインジェクションの脆弱性(Shellshock)(Scan Tech Report)

GNU Bash(Ver 4.3 及びそれ以前)には、外部からの入力が環境変数に設定されるような環境においてリモートから任意のコマンドを実行される脆弱性が報告されています。

脆弱性と脅威 エクスプロイト
1.概要
GNU Bash(Ver 4.3 及びそれ以前)には、外部からの入力が環境変数に設定されるような環境においてリモートから任意のコマンドを実行される脆弱性が報告されています(CVE-2014-6271,CVE-2014-6278)。
本脆弱性は、「Shellshock」と呼ばれており、既に攻撃手法が公開されていることから被害も数多く報告されています。影響も広範囲に及ぶため、可能な限り下記対策の実施を推奨します。


2.深刻度(CVSS)
10.0
http://jvndb.jvn.jp/ja/contents/2014/JVNDB-2014-004410.html


3.影響を受けるソフトウェア
以下のバージョンが本脆弱性の影響を受けます。

- Bash 4.3 Patch 28 およびそれ以前
- Bash 4.2 Patch 51 およびそれ以前
- Bash 4.1 Patch 15 およびそれ以前
- Bash 4.0 Patch 42 およびそれ以前
- Bash 3.2 Patch 55 およびそれ以前
- Bash 3.1 Patch 21 およびそれ以前
- Bash 3.0 Patch 20 およびそれ以前

※Debian, Fedora などの Linux ディストリビューションに含まれる Bash パッケージについてもこの脆弱性の影響を受けます。


4.解説
GNU Bash は、様々な機器(Linux, BSD, Mac OS X を含むUNIX系OS)や、組み込み機器などで利用されています。

GNU Bashには、新しくBashのインスタンスが生成された際に、環境変数に記述されたシェル関数の定義を読み込み、設定する機能が存在します。この環境変数の読み込み処理の際、特定文字列が入っていると、それに続く文字列をコードとして扱ってしまう問題が存在します。

一見影響はローカル環境に止まりそうですが、CGI、SMTP、DHCP等のサービスでは、内部でOSコマンドを実行する際、外部からの入力が環境変数へと引き渡されるためリモートからでも任意のOSコマンドの実行が可能となります。

公開されているExploitでは、任意のコード実行が可能な脆弱性としてCVE-2014-6271とCVE-2014-6278、2つの脆弱性が利用されています。

Shellshockとして最初に報告されたCVE-2014-6271では、環境変数にシェル関数の定義に続き、";"が入っている場合、その後の文字列がOSコマンドとして処理されてしまうという問題点があります。

その後、この問題点に対しベンダーは修正パッチを公開しましたが、修正が不十分であり、未だコード実行が可能であることがセキュリティ研究者Michal Zalewskiにより報告されました(CVE-2014-6278)。※1

このCVE-2014-6278では、環境変数にシェル関数の定義に続き、">_[$($())]"のような文字列があった場合、ネストされた"$($())"という文字列により環境変数の読み込みが適切に行われず、その後の文字列をOSコマンドとして処理してしまう問題点が報告されています。この問題点に対しても、ベンダーから追加で修正パッチが公開されています。

最終的に、関連するCVEは6つに渡り(CVE-2014-6271,CVE-2014-7169,CVE-2014-7186,CVE-2014-7187,CVE-2014-6277,CVE-2014-6278)、根本的な脆弱性の解消のためには全ての問題点が修正済みのパッチバージョンを適用する必要があります。修正済みバージョンについては下記対策を確認してください。

※1 http://lcamtuf.blogspot.com/2014/10/bash-bug-how-we-finally-cracked.html

また、NASデバイス「QNAP」における本脆弱性を悪用するワームが出現しており、国内でも本脆弱性を対象としたと推測される攻撃が確認されています。今後もShellshockを使用する攻撃は継続すると考えられますので、引き続き警戒が必要です。※2

※2 https://www.jpcert.or.jp/at/2014/at140055.txt


5.対策
以下のWebサイトより、次に示す修正済みバージョン以降を入手しアップデートする、あるいは修正パッチを適用することでこの脆弱性を解消することが可能です。

修正済みのバージョンは、以下の通りです。
- Bash 4.3 Patch 29
- Bash 4.2 Patch 52
- Bash 4.1 Patch 16
- Bash 4.0 Patch 43
- Bash 3.2 Patch 56
- Bash 3.1 Patch 22
- Bash 3.0 Patch 21

GNU Bash Patch
http://ftp.gnu.org/gnu/bash/


また、 Linux ディストリビューションにおいては、それぞれのベンダが提供するセキュリティアドバイザリを参考に、適切なパッケージを入手しアップデートすることで、この脆弱性を解消することが可能です。

Red Hat
https://access.redhat.com/ja/articles/1210893
CentOS
http://wiki.centos.org/Security/Shellshock
Ubuntu
http://www.ubuntu.com/usn/usn-2380-1/


6.ソースコード
(Web非公開)

(執筆:株式会社ラック サイバー・グリッド研究所

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html

《株式会社ラック デジタルペンテスト部》

関連記事

特集

PageTop

アクセスランキング

  1. 保健所職員が資料を個人用端末で写真撮影、フィッシング詐欺に遭い閲覧された可能性

    保健所職員が資料を個人用端末で写真撮影、フィッシング詐欺に遭い閲覧された可能性

  2. 入学選抜に係わる情報をTeams内に誤って格納、生徒14名がアクセス

    入学選抜に係わる情報をTeams内に誤って格納、生徒14名がアクセス

  3. JR東日本グループ「VIEW’s NET」に不正ログイン被害

    JR東日本グループ「VIEW’s NET」に不正ログイン被害

  4. 住和港運へのランサムウェア攻撃、サーバ内のデータが暗号化され使用できず

    住和港運へのランサムウェア攻撃、サーバ内のデータが暗号化され使用できず

  5. Twilioに高度なソーシャルエンジニアリング攻撃、一部顧客アカウント情報が漏えい

    Twilioに高度なソーシャルエンジニアリング攻撃、一部顧客アカウント情報が漏えい

  6. 社員名を詐称したメールを開封し添付ファイルを実行、従業員3名のパソコンがEmotetに感染

    社員名を詐称したメールを開封し添付ファイルを実行、従業員3名のパソコンがEmotetに感染

  7. マイクロソフトが8月のセキュリティ情報公開、MSDT のリモートでコードが実行される脆弱性は悪用の事実を確認済み

    マイクロソフトが8月のセキュリティ情報公開、MSDT のリモートでコードが実行される脆弱性は悪用の事実を確認済み

  8. 「JUSTオンラインアップデート for J-License」が特定のプログラムを起動する際に実行ファイルのパスが引用符で囲まれていない脆弱性

    「JUSTオンラインアップデート for J-License」が特定のプログラムを起動する際に実行ファイルのパスが引用符で囲まれていない脆弱性

  9. Adobe AcrobatおよびReaderに脆弱性

    Adobe AcrobatおよびReaderに脆弱性

  10. GMOサイバーセキュリティ byイエラエがクレジットカード情報漏えい事故調査機関「PFI」に認定

    GMOサイバーセキュリティ byイエラエがクレジットカード情報漏えい事故調査機関「PFI」に認定

ランキングをもっと見る