アカウント名:
パスワード:
でも標準SHELLをbashにしてる環境が多すぎたり、入力データをまんまSHELLに投げてるプログラムとかテスト不足のWebServerを代表とするdaemon群が一番悪い気がするんだがなぁ…
テスト不足のWebServerを代表とするdaemon群が一番悪い気がするんだがなぁ…
今回のバグは、bashが環境変数中に仕込まれたコードを実行してしまう、というものです。そして、リクエスト中のヘッダフィールドを環境変数として渡すことは、CGIの仕様によって要求されています(RFC 3875 [ietf.org])。したがって今回の脆弱性は、Webサーバが仕様通りに動作することがテストされていたとしても、回避することはできません。
攻撃っぽいフィールドを弾いてほしいところかも知れませんが、それは汎用のWebサーバではなくWAFの役割だと思います。
> リクエスト中のヘッダフィールドを環境変数として渡すことは、CGIの仕様によって要求されています
その仕様がバグだってことだな。
クライアントから送られてくるデータを無条件に受け付けるってどんだけお花畑なんだか。
クライアントから送られてくるデータに不穏当なものがないか検査する機能を提供すべきなのは、そのデータを受け付けるプログラムでしょ。
そういう機能を提供せずに他の実行ファイルを呼び出すというというのはバグというより無責任だな。
今回の場合、送られてくるデータを不適切だという解釈をbash以外のプログラム(たとえば httpd)がすることは可能なんでしょうか。正当なデータも通らなくなったりとか不都合が起きたりしない?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
bashのBugではあるんだけど… (スコア:0)
でも標準SHELLをbashにしてる環境が多すぎたり、入力データをまんまSHELLに投げてるプログラムとか
テスト不足のWebServerを代表とするdaemon群が一番悪い気がするんだがなぁ…
Re: (スコア:2)
今回のバグは、bashが環境変数中に仕込まれたコードを実行してしまう、というものです。そして、リクエスト中のヘッダフィールドを環境変数として渡すことは、CGIの仕様によって要求されています(RFC 3875 [ietf.org])。したがって今回の脆弱性は、Webサーバが仕様通りに動作することがテストされていたとしても、回避することはできません。
攻撃っぽいフィールドを弾いてほしいところかも知れませんが、それは汎用のWebサーバではなくWAFの役割だと思います。
Re: (スコア:0)
> リクエスト中のヘッダフィールドを環境変数として渡すことは、CGIの仕様によって要求されています
その仕様がバグだってことだな。
クライアントから送られてくるデータを無条件に受け付けるってどんだけ
お花畑なんだか。
Re: (スコア:0)
別にどんな文字列だろうと評価しなければ何の害にもならないし。
Re: (スコア:0)
クライアントから送られてくるデータに不穏当なものがないか
検査する機能を提供すべきなのは、そのデータを受け付ける
プログラムでしょ。
そういう機能を提供せずに他の実行ファイルを呼び出すというと
いうのはバグというより無責任だな。
Re:bashのBugではあるんだけど… (スコア:0)
今回の場合、送られてくるデータを不適切だという解釈をbash以外のプログラム(たとえば httpd)がすることは可能なんでしょうか。
正当なデータも通らなくなったりとか不都合が起きたりしない?
Re: (スコア:0)
CookieとRefererは「変なデータ」なので、きちんとチェックするhttpdがもし存在すれば
400 Bad Requestを投げるようなことは可能だったかもしれません。
そんな実装のhttpdはたぶん存在しなかったと思いますが。WAFにはあったりするかも。
User-Agentは今回のを決め打ちで弾くようにするとかじゃないと無理っぽい気がします。