MOPBの反応

(Last Updated On: 2018年8月16日)

Stefanさんのブログによると、MOPBのおかげでリファレンスカウンタ、allow_url_include(とallow_url_fopen)のセキュリティホールがやっと修正されることになったようです。ブログの内容はリンク先を見ていただくとしてMOPBの成果として修正された問題についてコメントします。

たまたま、これらのはバグデータベースに最初に登録された時から知っていました(それぞれ既に何年も前の事ですが…)当時はリファレンスカウンタの件は「クラッシュくらいならエラーにした方が良い」と思っていたのですが、制限したくない、互換性の問題がある(Zend OptimizerとかZend Cacheとか)と言う理由で未修整のままでした。

allow_url_include/allow_url_fopenの問題はPHP Streamが導入された際に標準入力のストリームがallow_url_fopen(当時はallow_url_inlcudeは無く、この機能だけでも数年後に追加されました)がinclude文に対して機能しない、したがってセキュリティ上問題がある、としたBugレポートがストリーム導入後直ぐにありました。私は”当然”その問題はすぐに修正されたもの、と思っていたのですが修正されていませんでした。そして、修正されていない事を1年半か2年くらい前に知りました。 当時のBug DBにはXFormなど場合「標準入力ストリームを使えないとこまる」という理由にもならない理由付けがされていたのですが、恐らくそれが理由で修正されなかったのだと思います。

正しく修正される前にもallow_url_fopenがINI_SYSTEM(システムレベルの設定でのみ設定変更可能)に変更されたりしていました。これはセキュリティ上意味が無い上、多少でも安全に利用できるように設定しようとするプログラマには至極迷惑な仕様変更でした。後にallow_url_includeが追加されたので前の状態よりはよくなったのですが、この実装も中途半端だったのでセキュリティホールは残ったままになっていました。
# セキュリティとはあまり関係ないですが、
# php.ini設定と言えばmbstring.language設定
# がINI_SYSTEMになっている等、恐らく変更
# した本人はなぜINI_SYSTEMでは困るのか全
# く理解していないと思われます。

とにかく、直す気がなかった問題2つが正しく修正されることになり何よりです。

投稿者: yohgaki