Trusted Design

CVE-2014-6271 の詳細

CVEの情報

説明:
GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which allows remote attackers to execute arbitrary code via a crafted environment, as demonstrated by vectors involving the ForceCommand feature in OpenSSH sshd, the mod_cgi and mod_cgid modules in the Apache HTTP Server, scripts executed by unspecified DHCP clients, and other situations in which setting the environment occurs across a privilege boundary from Bash execution, aka "ShellShock." NOTE: the original fix for this issue was incorrect; CVE-2014-7169 has been assigned to cover the vulnerability that is still present after the incorrect fix.

CVE更新日: 2014-09-24 18:48:04.477000

CVSSバージョン: 3.1

CVSSスコア: 9.8

KEVの情報

KEV更新日: 2022-01-28

EPSSの情報

EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。

EPSSスコア: 0.999990000

EPSS更新日: 2026-10-16 00:00:00

SSVCの情報

SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。

Exploitation: active

Technical Impact: high

Automatable: True

AIを使った解説

解説:

CVE-2014-6271 (Shellshock) の解説

1. 脆弱性の概要

CVE-2014-6271は「Shellshock(シェルショック)」として知られる、GNU Bash(Bourne-Again Shell)の環境変数処理に存在する深刻な脆弱性です。UnixやLinuxなどのOSで広く利用されているBashシェルが、環境変数に設定された関数定義の後に続く文字列の解析を適切に停止しないという問題に起因します。これにより、攻撃者は巧妙に細工した環境変数を介して、脆弱なシステム上で任意のコードを実行できてしまいます。この脆弱性は、発見されるまで約20年間存在していました。

この脆弱性は、特にWebサーバーのCGIプログラム、SSH (OpenSSH sshdのForceCommand機能)、DHCPクライアント、qmailなど、Bashシェルが環境変数を受け取るさまざまなシナリオで悪用される可能性があります。

1.1 影響

この脆弱性が悪用された場合、以下のような深刻な影響が発生する可能性があります。

  • 秘密情報の漏洩: システム上のパスワードファイル(例: /etc/passwd)などの機密情報が窃取される可能性があります。
  • データの改ざん: Webサーバーのコンテンツ改変、Webサイトのコード変更、Webサイトの改ざんなどが可能です。
  • 任意のコード実行(リモートコード実行 - RCE): 攻撃者はリモートから脆弱なシステム上で任意のOSコマンドや不正なプログラムを実行できます。これにより、サーバーの乗っ取りやマルウェア感染につながる可能性があります。
  • 他サイトへの攻撃の踏み台: 侵害されたシステムが他のシステムへの攻撃の踏み台として利用される可能性があります。
  • サービス不能(DoS): 領域外のメモリアクセスや境界条件の判定の不備といった関連する脆弱性(CVE-2014-7186, CVE-2014-7187など)により、サービス不能状態に陥る可能性もあります。
  • 権限昇格: この脆弱性単独で権限昇格が行われるわけではありませんが、他の脆弱性と組み合わせることでルートユーザーに権限昇格される可能性があります。
  • コマンド制限の迂回: SSHなどで特定のコマンド実行に制限を設けていても、Bashの処理を介してその制限を迂回し、別の操作が実行される可能性があります。

1.2 深刻度

CVE-2014-6271は、CVSS v2基本評価で最高の10.0と評価されており、極めて深刻な脆弱性です。 攻撃元区分はネットワーク、攻撃条件の複雑さは低、攻撃前の認証要否は不要であり、機密性、完全性、可用性の全てに全面的に影響を与える可能性があります。

2. 対象となる環境

2.1 影響を受けるOSバージョン

GNU Bashの以下のバージョンおよびそれ以前のバージョンが影響を受けます。

  • Bash 4.3 Patch 25 およびそれ以前
  • Bash 4.2 Patch 48 およびそれ以前
  • Bash 4.1 Patch 12 およびそれ以前
  • Bash 4.0 Patch 39 およびそれ以前
  • Bash 3.2 Patch 52 およびそれ以前
  • Bash 3.1 Patch 18 およびそれ以前
  • Bash 3.0 Patch 17 およびそれ以前
  • Bash 2.0.5b Patch 8 およびそれ以前
  • Bash 1.14.7 およびそれ以前

多くのLinuxディストリビューション(CentOS, Fedora, RHEL, Debian, Ubuntuなど)やmacOS (OS X 10.10およびそれ以前) がBashをデフォルトシェルとして採用しているため、広範囲に影響が及びました。

2.2 影響を受ける設定

以下のようなBashを利用する設定やサービスが影響を受けやすいとされています。

  • CGI (Common Gateway Interface) を利用するWebサーバー: Apache HTTP Serverのmod_cgiまたはmod_cgidモジュールが有効で、CGIプログラムがBashを呼び出している場合に影響を受けます。HTTPヘッダ(User-Agentなど)が環境変数としてBashに渡されるため、攻撃者はこれに不正なコマンドを挿入できます。
  • SSH (Secure Shell) のForceCommand機能: OpenSSH sshdのForceCommand機能で、ユーザーが実行できるリモートコマンドを制限している場合でも、その制限を迂回されてしまう可能性があります。
  • DHCPクライアント: DHCPクライアントが不正なDHCPサーバーからネットワーク設定情報を取得する際に、環境変数に不正なコードが挿入され、Bashを使ってネットワークインターフェイスを設定する際に悪用される可能性があります。
  • qmailなどのメールシステム: qmailがmail from:やrcpt to:で指定された値を環境変数として取り扱うために、この脆弱性が悪用される可能性があります。
  • Linux系の組み込み機器・アプライアンス: ルーター、家電、無線アクセスポイントなど、Bashを使用している組み込みシステムやアプライアンスも影響を受けやすく、パッチ適用が困難な場合があります。
  • rsyncやgitなどSSHを使用するリモートコマンド制限: これらのツールでリモートコマンドを制限している場合でも、制限を迂回される可能性があります。
  • スクリプトやジョブがBashを呼び出す周辺機能: 明示的または暗示的にBashを呼び出すあらゆるスクリプトやジョブが影響を受ける可能性があります。

3. 影響を受けた時の兆候

影響を受けた場合の兆候としては、以下のようなものが挙げられます。

  • Webサーバーログの異常なパターン: HTTPヘッダ(特にUser-Agentなど)に「() { :; };」のような疑わしい文字列が含まれるログが確認される。
  • Webサーバーからの不審な外部接続: Webサーバーから未知のIPアドレスへの疑わしいアウトバウンド接続が検出される。
  • Webサーバーユーザーアカウント下の予期せぬプロセス: Webサーバーが稼働しているユーザーアカウント(例: www-data, apache)で、予期しないプロセスが実行されている。
  • 不正なファイルの生成やコンテンツ改変: ウェブサイトの改ざんや、意図しないファイルが作成されている。
  • システム情報の不正な参照: ファイルシステムの情報やパスワード情報が不正に参照されている。

脆弱性の有無は、Bashプロンプトから以下のコマンドを実行することで確認できます。

$ env x='() { :;}; echo this bash is vulnerable' bash -c :

または

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"

上記コマンドを実行して「this bash is vulnerable」や「vulnerable」と表示された場合、そのBashは脆弱であると判断されます。

4. 推奨対策

4.1 本対策

恒久的な対策は、GNU Bashを修正済みの最新バージョンにアップデートすることです。

  • OSおよびBashのパッチ適用: 各Linuxディストリビューション(Red Hat, CentOS, Debian, Ubuntuなど)やmacOSから提供されているセキュリティアップデートやパッチを速やかに適用してください。 脆弱性CVE-2014-6271の修正パッチが不十分であったため、その後もCVE-2014-7169、CVE-2014-7186、CVE-2014-7187、CVE-2014-6277、CVE-2014-6278などの関連する脆弱性が複数報告されており、これらすべてに対応した最新のパッチを適用する必要があります。

4.2 暫定回避策(緩和策)

パッチの適用がすぐにできない場合や、多層防御の一環として以下の緩和策を検討してください。

  • 代替シェルの使用: SSHなどのログインシェルとしてGNU Bash (/bin/bash) 以外のシェルを設定することで、脅威を緩和できます。 ただし、/bin/shが/bin/bashへのシンボリックリンクである環境では、他のシェルに切り替えてもBashが呼び出される可能性があるため注意が必要です。
  • WAF (Web Application Firewall) やIDS/IPSの導入・強化: WAFやIDS/IPSを使用して、脆弱性のあるサービスへの入力(特にHTTPヘッダ内の不正なパターン)を監視し、攻撃を検知・ブロックするフィルタリングルールを適用します。
  • システム監視の継続: 不審なアクセスや予期せぬプロセスの実行など、異常な活動がないか継続的にシステムを監視します。
  • Webサーバーの設定確認: Apache HTTPサーバーでmod_cgiやmod_cgidを使用していない場合は無効にするか、CGIプログラムがBashを明示的または暗示的に呼び出していないか確認します。
  • SELinux/AppArmorの活用: SELinuxやAppArmorなどの強制アクセス制御を有効にし、ウェブサーバーのプロセスが不必要なコマンドを実行できないように制限することで、攻撃の影響を緩和できる場合があります。

参照したサイト

NVDサイト

NVDでCVEの詳細を見る

戻る