http://zope.org/Members/ajung/security_advisory
Zope 2.7.x,およびベータリリース中の2.8において,ZPT,DTMLで特定のコードを書くとZopeが落ちてしまう,という不具合。owaさんによって日本のZope情報にいちはやく登録され,また中神さん主催のZope-memoメーリングリストにもリポートが流れました。
向こうの開発MLに報告されていた例を見ると,「うっかり書いてしまうタイプ」のコードではないようです。ZMIを不特定多数に解放している場合,さらに悪意のある作業者がZMIにログインできる場合には要注意。一般的なZopeサイトではほぼ問題ないでしょう:-)。
ま,転ばぬ先の杖,ということで,etc/zope.confにコメントアウトされている
security-policy-implementation python
という設定を生かす('#'を除去する)のがいいでしょうか。ただし,設定変更のリスクとしてZopeの実行速度が多少遅くなるはずです。
Zope 2.7系で加わった,応答のエンコードをダイナミックに変換する仕組みまわりが影響している模様。DTMLでも,あれをああしてああすればZopeを落とすコードは書けるはずだけど,まあ不毛なので試してみません:-)。
Zopeの多くの部分はPythonでかかれているわけですが,一部Cでかかれた部分があって,今回のようにNull Pointer Accessを引き起こす可能性がある。また,バッファオーバーフローに関しても「可能性」としては皆無とはいえない。
一方で,問題に対する対処法がすぐに公開される安心感というのはある。Zopeはこれまでもセキュリティにフォーカスしてきましたので,その方向性は現在も堅持されているということでしょう。