続:Apache 2.2.xとSSI EXEC

  • 投稿日:
  • by
  • カテゴリ:

6月に、

てか、AllowOverride Allな環境で、 Options +Includes だと、ssi execが動かないのに Options +Includes +IncludesNoExec なら、ssi execが動くってのは、正直意味がわからない。 なんかおかしくなってる気がする。

てなことを書いていたのですが、先日2.2.12がリリースされたようですが、私自身、面倒なので試していないですが、この件、解決していないようです。

そもそも、CVE-2009-1195の指摘は、

httpd.confに以下の設定を行う

Options None
AllowOverride Options=IncludesNoExec

このとき、IncludeNoExecの設定を追加することだけをOKしているのに、

.htaccessに以下の設定を行うと

Options +Includes

これが設定できて、しかも、execのSSIが動いてしまう。とうバグがあって、それは、セキュリティーの観点からも非常に問題があるという指摘であった。

そこで、Apacheプロジェクトは、trunkに対してhttp://svn.apache.org/viewvc?view=rev&revision=772997で以下のような変更を行います。

  • Includes/IncludeNoExecの内部フラグの意味合いを変更し、これまでexecを含むIncludeに対応していたOPT_INCLUDESをexecの無いIncludeに限定し、execも可能なIncludeについては、OPT_INCLUDES|OPT_INC_WITH_EXECといった形で、OPT_INC_WITH_EXECのフラグを用いることとする。
  • OPT_INC_WITH_EXECのフラグの値は、これまでのOPT_INCNOEXECと同じ値とする

そして、その変更を2.2.xのソースにbackportします。

これで、うまくいっていたのに、このあとの過去との互換性維持のためにOPT_INCNOEXECを復活させる変更で、IncludesNoExecが内部のOPT_INC_WITH_EXECになってしまったので、前述の謎な動きになってしまっているのだと思う。

結局、おかしくなってしまっているのだけど、いまいち話題になっていないのは、実は、SSIでEXECを使っていないと言うことなのだろうかww

そもそも、Includeにたいして、IncludeNoExecを追加するのではなくて、IncludeWithExecを追加しておけば、こんなことにならなかったんじゃないのか?とか、思うけど、それも、過去との互換性維持のために、やらなかったということなのかなぁ。経緯は知らないけど......

で、それはそうと、神戸さん、こういうApacheプロジェクトの問題も、pkgsrc側になげていいものなのですか

てか、soumのMLに投げればいいのかな?さすがに、リリースバージョンが上がっても直ってないと、なんだか、焦ってくるよね。