Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

CVE-2014-6271のbashの脆弱性に対応する方法

More than 5 years have passed since last update.

Mac

Macの場合は、HomebrewMacPortでも修正版である4.3.25が配布されています。したがって、以下のコマンドで対応できます。

Homebrew

$ brew update

$ brew upgrade bash

MacPort

$ sudo port self update

$ sudo port upgrade bash

/bin/bash

脆弱性を有しているかどうかは以下のコマンドを実行すると分かります。

$ env x='() { :;}; echo vulnerable' bash -c 'echo hello'
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello

デフォルトでインストールされているbashである/bin/bashは、手元環境を確認した所によるとbash 3.2になりました。

$ /bin/bash --version

これを最新版に差し替えるか、パッチを当てておくほうが良いでしょう。

new

ただし、既存のシェルスクリプト等がバージョン間の実装差異の問題で死んでしまう可能性が (わずかですが) あります。注意してください。

$ /usr/local/bin/bash --version
4.3.25

$ mkdir bash-3.2-old

$ sudo cp /bin/bash !$

$ sudo cp -v /usr/local/bin/bash /bin

古いやつ残しておく場合は、念のためchmod a-xした方がいいと思います。

patch

$ mkdir bash-fix

$ cd bash-fix

$ curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf -

$ cd bash-92/bash-3.2

$ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0

$ cd ..

$ xcodebuild

$ sudo cp /bin/bash /bin/bash.old

$ sudo cp /bin/sh /bin/sh.old

$ build/Release/bash --version # GNU bash, version 3.2.52(1)-release

$ build/Release/sh --version   # GNU bash, version 3.2.52(1)-release

$ sudo cp build/Release/bash /bin

$ sudo cp build/Release/sh /bin

$ sudo chmod a-x /bin/bash.old /bin/sh.old

oss-sec: CVE-2014-6271: remote code execution through bash http://seclists.org/oss-sec/2014/q3/649

security - How do I recompile Bash to avoid the remote exploit CVE-2014-6271? - Ask Different http://apple.stackexchange.com/questions/146849/how-do-i-recompile-bash-to-avoid-the-remote-exploit-cve-2014-6271

sh

/bin/shも実質、bashである可能性があります。調べて、問題があるようなら、パッチを当てるかしたbashをリネームしたりしてください。

$ which sh
/bin/sh

$ sh --version

Linux

yum

# yum update bash

# /sbin/ldconfig

pacman

# pacman -Sy bash

参考

bashの脆弱性によりCGIのshebangの実体がbashの場合、任意のコマンド発行できる件 - Qiita

AWS - bash脆弱性への対応 - Qiita

bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog

追加

ウェブアプリにおけるBash脆弱性の即死条件 #ShellShock - めもおきば

ファイアウォール内のサーバに対するShellshockを利用した攻撃 - 葉っぱ日記

影響範囲はどこまで?:bashにコードインジェクションの脆弱性「Shellshock」、管理者に大きなショック - @IT

0day.jp (ゼロデイ.JP): bash 0dayマルウェア感染の「real time」リバースエンジニアリング

bash の脆弱性 "Shell Shock" のめっちゃ細かい話 (CVE-2014-6721) - もろず blog

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away