LoginSignup
13

More than 5 years have passed since last update.

bashのshellshockについて(メモ)

Last updated at Posted at 2014-09-26

ようやく終息が見えてきたbashのアレ(shellshock)についてのメモ

!!!内容無保証!!!

最初の脆弱性確認コマンド (CVE-2014-6271)


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

↑は各ディストリビュータでパッチが出てるのでそれを適用すればとりあえず再現しなくなります。
すでにbotが上記脆弱性を狙った攻撃を仕掛けているので、すぐさまパッチなりアップデートを当てたほうがいいです。

→(UPDATE)悪意のあるDHCPサーバがこれらの脆弱性を使ってdhcpを細工すると、ここに接続されたdhcpクライアントは危険に晒されます。CGIを使っていないから無関係とは言えなくなりました。bashが入っているLinuxやUnix等は必ずアップデートしましょう。
https://www.trustedsec.com/september-2014/shellshock-dhcp-rce-proof-concept/

CVE-2014-6271の対策があたっていても引っかかりそうなコマンド (CVE-2014-7169系列)


$ rm -f echo && env X='() { (a)=>\' sh -c "echo date"; cat echo

$ rm -f echo && env -i X='() { (a)=>\' bash -c 'echo id'; cat echo

$ rm -f echo && env X='() { (a)=>\' bash -c "echo echo unko"; [[ "$(cat echo)" == "unko" ]] && echo "echo is unko!"

前段でechoファイルを消しているにもかかわらずechoファイルが生成されてしまいます。
これについては、UbuntuではUpdateが来て、これらはFixされました。
Redhat系もUpdateが来ています。

CVE-2014-7186とCVE-2014-7187 について

7186は構文解析の際にメモリ外のアクセスが起こる可能性がある問題で、7187は深いネストを作った場合に任意コードの実行の可能性があるという問題です。

7186はredhatでは修正されています。
7187はそもそも起こりえない話では?(というか攻撃者は応用できないでしょう)ということですが、とりあえず直されています。

これらはおそらくですが、shellshockで話題になったので他の不味い問題が無いかソースを見直した結果発見されたという感じですね。

これらは残していても今回のshellshockとはさほど関連性が無いため、ubuntuではとりあえず保留みたいです。
→(UPDATE)9/28?29の時点でUbuntuのほうでこれらのセキュリティアップデートがありました。念の為アップデートしておきましょう。

参考 
Bug 1146791 - (CVE-2014-7186) CVE-2014-7186 bash: parser can allow out-of-bounds memory access while handling redir_stack https://bugzilla.redhat.com/show_bug.cgi?id=1146791

Bug 1146804 - (CVE-2014-7187) CVE-2014-7187 bash: off-by-one error in deeply nested flow control constructs
https://bugzilla.redhat.com/show_bug.cgi?id=1146804

ルータやアプライアンス製品について

多くの家庭用ルータは製品のFLASH ROMの容量をなるべく少なく済むようにするのが基本ですのでbashではなくbusyboxのashを使います。
今回の問題はbashの特殊な機能(構文)に起因するものなで、ashにはそのようなものはないのでbashのような問題は起こりません。
(ashでテストしましたが上記脆弱性はありませんでした)

ですが、顧客のニーズが高度化していることもあり、独自にbashを導入している事例も考えられます。

但し、機材によってはbashが使われている可能性もなくはないので、心配ならメーカに問い合わせましょう。
また「参考」にかかれているサイトにも各社対応状況等が乗っていますので確認しましょう。
もし、ファームウェアのアップデートがある場合はただちに適用しましょう。
もしくは、web系(外部からルータに入ってブラウザで操作できるなどの)サービスを止めるなど、一時的にサービスを停止することも視野に入れてください。

参考:
Linuxアプライアンス類もBash脆弱性対策を http://sknn.tumblr.com/post/98562833688/linux-bash
bashの脆弱性、国内メーカーの対応状況 10月1日お昼現在まとめ http://www.itmedia.co.jp/enterprise/articles/1410/01/news081.html
JVNVU#97219505 GNU Bash に OS コマンドインジェクションの脆弱性(ベンダ情報の欄) http://jvn.jp/vu/JVNVU97219505/

影響範囲について

  • Linuxをサーバとして運用している場合
    影響大です。すぐにUpdateしましょう。できればWAFも併用するとより安心安全です。
  • Linuxクライアントとして運用
    悪意あるDHCPの問題があるので影響大です。すぐにUpdateを
  • Windowsしかつかってないよ
    影響はないでしょう
  • お家でラズベリーパイを使っていて、HTTPを動かしている
    影響大です。すぐにUpdateなりbashにパッチを当てましょう
  • Openblocks使ってるんだけど。。。
    ご愁傷さまです。多分サポートは終わってるのアップデートを待つのは厳しいです。
    bashのソースを取ってきてRedhatかubuntuの当該パッチを自力で適用してbashの再構築を行いましょう...
  • Android(なんたらModとか、または独自で改造したりrootとっている)
    改造済みAndroidはrootを取得する段階でbashが入る可能性が高いので、updateできる場合はすぐさまupdateを
  • 無改造のAndroidは大丈夫?
    問題ありません。androidは独自のshを使っています。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13