パスワードを忘れた? アカウント作成
8576 story

PHP-4.3.7以前にリモート脆弱性発見 68

ストーリー by koyhoge
さぁバージョンアップ祭だ(涙) 部門より

7/14に発表されたセキュリティ勧告「PHP memory_limit remote vulnerability」によれば、--enable-memory-limitで作成されているPHPに対してデータをPOSTするだけで、任意のコードを実行できる脆弱性が発見された模様。 PHP実行プロセスのメモリ使用量を制限するmemory_limit機能のバグをついたものだ。対象となるPHPのバージョンは

  • 4.3.7以前のすべてのバージョン
  • 5.0.0RC3以前のすべてのバージョン
となっており、対処法としては先日リリースされた4.3.8または5.0.0にバージョンアップすることとなる。memory_limit機能を無効にするのも対処法としては有効だが、その場合はPHPの使用メモリ量の制限がなくなるので、よりDoSアタックを受けやすくなることを覚悟しなければならない。

PHP-4.3.8のリリースアナウンスには詳細が述べられておらず、ChangeLogにも重要性を示唆する言葉は全くないので注意が必要だ。

koyhogeによる追記: 「標準設定のPHPに対して」と書きましたが、4.2.0以降は --enable-memory-limitはconfigureの標準設定では無効になっていました。お詫びして訂正いたします。なお各ディストリビューションが作成しているパッケージでは有効になっている場合が多いので、充分に注意して下さい。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by znc (2768) on 2004年07月15日 12時57分 (#589938)
    php公式ページでは
    This release is made in response to several security issues hat have been discovered since the 4.3.7 release. All users of PHP are strongly encouraged to upgrade to PHP 4.3.8 as soon as ossible.
    と書いてあるので、まったく触れていない訳ではない様ですが
    確かに強調が足りないとは言えますね。
    --
    『今日の屈辱に耐え明日の為に生きるのが男だ』
    宇宙戦艦 ヤマト 艦長 沖田十三氏談
    2006/06/23 JPN 1 - 4 BRA
  • by qbin (4949) on 2004年07月15日 14時56分 (#590072)
    アドバイザリを読む限りでは、
    Apache 2.0.49で発見されたCAN-2004-0493の問題は32ビット環境において軽微だと見なされていたが、4.3.7以前のmod_phpにmemory-limitが組み合わさっているとまずい。
    という話であって、
    最新のApache2や、Apache 1.3などApache2以外の環境で使っている場合は問題ないと思うのです。
    みんな原文読んでいる?
  • 折角だから (スコア:2, 参考になる)

    by Anonymous Coward on 2004年07月15日 17時30分 (#590252)
    こっちも載せておけばいいのに。
    PHP strip_tags() bypass vulnerability [e-matters.de]
    Full-Disclosure ML [netsys.com]さらった範囲ではこの二つが修正対象の模様。
  • いまだに (スコア:1, 参考になる)

    by Anonymous Coward on 2004年07月15日 13時42分 (#589991)
    4.3.2を使っています。

    アップデートしたいのは山々ですが、PHPの各バージョン
    間の互換性のなさには辟易していますので、手が出ません。

    PEARを使って書いたページが、PHPのバージョンアップで
    全て使えなくなって、泣いたことがあります。

    4.3.xのマイナーバージョン間ですら、この程度の互換性
    ですから、5.xなどまず手を出したいとは思いません。
    • Re:いまだに (スコア:1, すばらしい洞察)

      by Anonymous Coward on 2004年07月15日 13時53分 (#590007)
      4系間で互換性がぐちゃぐちゃだからこそ
      全てを捨てて5系に旅立つという考えもありかと
      親コメント
      • by Anonymous Coward
        その5系間で互換性がぐちゃぐちゃになるかもって事じゃないんですかねぇ。
    • by hpn_smile (11442) on 2004年07月15日 16時40分 (#590181) 日記
      >PEARを使って書いたページが、PHPのバージョンアップで
      >全て使えなくなって、泣いたことがあります。

      これって、本当なんですか?
      だとしたら、いまだにPHPLIBを使った方が、
      互換性は高いって事でしょうか?
      親コメント
  • by GPH (8223) on 2004年07月15日 13時48分 (#590001) 日記
    PukiWikiの1.43だかを使っていますが、確かphpのバージョン5だとそのままじゃ動かなかったと書かれていました。
    今回ので4系でもアウトになる・・・なんてこたあまさか無いよなあ・・・。詳しくチェックしてないです。
    • Re:PukiWiki (スコア:3, 参考になる)

      by itiba (10155) on 2004年07月15日 14時05分 (#590018) ホームページ 日記
      続・質問箱/80 [pukiwiki.org]を参照してください。
      PukiWikiはもともと、クラスの使い方がおかしいため(PHP4では、うごいちゃってた)オブジェクト指向周りを書き換えたPHP5では動かないって話です。
      今回の修正点を見る限り、php 4.3.8でちゃんと動くと思います。っていうか家で動いてます。
      PHP5ではどうがんばっても完全に動かすのはだめでした。
      PukiWiki1.5もしくは2.0に期待しましょう。
      親コメント
  • by Anonymous Coward on 2004年07月15日 14時15分 (#590026)
    とりあえず、4.3.7 → 4.3.8 のアップデートは正常に済みました。
  • 隠蔽 (スコア:0, フレームのもと)

    by Anonymous Coward on 2004年07月15日 12時42分 (#589914)
    > PHP-4.3.8のリリースアナウンスには詳細が述べられておらず、
    > ChangeLogにも重要性を示唆する言葉は全くない

    無責任なことですね。透明性が命のオープンソース
    プロジェクトで隠蔽まがいのことをするなんて。
    • PHP 4.3.8 Release Announcement [php.net]に
      All users of PHP are strongly encouraged to upgrade to PHP 4.3.8 as soon as possible.
      とあって、これは Sendmail などでもお馴染みの発表方。つまり
      1. 開発チームがヤバい脆弱性を見つけた。
      2. いきなり脆弱性詳細を解説してしまうとマズ過ぎるので、大至急アップデートする事を強く勧めるとだけ書いて、まずはバージョンアップを促す。
      3. しばらくしてから「解説はしばらく後にするが、重大な問題があるんだぞ。至急、アップデートせよ」と再度、尻を叩く。
      4. 最後に脆弱性の解説を行う。

      つもりだったのだろうが、第三者がソースのどこが変更されたかを見て、 それより先に問題を暴露したのだろう。

      # PHP 4.3系でメンテナンスリリースが出るとすればセキュリティー修正のためである事は明らかだから

      隠蔽だって? 何を言っているのだか。じゃあ「こうすりゃ任意のコードが実行できる」と開発チームからいきなり exploit でもオープンにして欲しかったとでも言うわけ?

      親コメント
      • by tyuu (9154) on 2004年07月15日 16時53分 (#590198) ホームページ 日記
        「俺の物は俺の物。お前の物も俺の物。」

        この精神にのっとり、
        全ての情報や PG が必ず自分の物になると信じているのです。

        OpenSource に何一つ、貢献しなくても、
        みんなが自分の為に働いてくれると思ってしまうのです。

        そっとしておいてあげて下さい。

        どうしてもと言う時は、
        「サポートがついている商用のプロダクト買えば。」
        と、優しく教えてあげて下さい。

        優しくですよ。
        じゃないと、ヒステリーから泡を吹いて倒れちゃいます。

        本当は良い子なんです。
        優しくしてあげて下さいネ。
        親コメント
      • OepnSSHだかなんだかで そんな感じの発表方法で 反感買ってた人がいたような気がしますなぁ.
        それを考えると あまりお馴染の方法とか言わない方がいいような気がします:-p

        それから exploitを出さないと隠蔽ってことではなくて 『こんなsecurity holeがあったよ』ってことを前面に出してないってことを言ってるんじゃないですかね.
        僕も隠蔽だとは思わないけど, そこら辺話が噛み合わないのはちょっともったいないですよ.

        親コメント
      • 深刻性の段階表示とかがないですね。

        まあ、いつも、作っている側は、ユーザは簡単にアップデートできるはずだと思っているんですよ。自分たちはすべてを把握しているからね。「常に最新版をお使いください」ってわけさ。
    • by annoymouse coward (11178) on 2004年07月15日 13時12分 (#589955) 日記
      http://www.php.net/release_4_3_8.php によれば,

      php-4.3.8 は Security Fixes release であり,
      PHPの利用者は出来るだけ早く4.3.8にアップグレードすることを
      お勧めします.

      とありますので,隠蔽まがいではないと思います.
      親コメント
    • by legend (17521) on 2004年07月15日 15時06分 (#590080)
      これって、たれこみ文が不適切なだけではないですか?
      PHP [php.net]のトップページにも明瞭に書いてあるし、ChangeLogからもすぐに読める場所に、

      "Security Fixes release" とか、
      "All users of PHP are strongly encouraged to upgrade to PHP 4.3.8 as soon as possible."
      とか書いてあるので、セキュリティ関連が原因でできるだけ早くアップデートする必要があることがすぐに分かります。

      具体的にどういう問題があったのかは、よく調べないと記述がない点はよろしくないですが、このアップデートの「重要性は十分に示唆されている」と思います。
      親コメント
      • by shoma (15904) on 2004年07月15日 15時28分 (#590102) ホームページ 日記
        今回はPHP 5.0.0とほぼ同時に修正版が出てしまったのが、
        目立たなかった原因の気がします。
        修正版だけがリリースされていれば隠蔽という印象はなかったはずです。
        --
        -- http://catbot.net/
        親コメント
      • by Anonymous Coward
        タレコミじゃなくて元 AC が不適切なだけだよ。
        釣られすぎ。
    • by Anonymous Coward
      > 無責任なことですね。

      ちと言い過ぎですよ。
      相手方のやる気を削ぐような物言いをしてもしょうがないんです。

      少なくともここでアナウンス(コピペだが)したんだし。

      # さあ、俺の自宅鯖もアップデートだ。
    • Re:隠蔽 (スコア:0, フレームのもと)

      > 無責任なことですね。透明性が命のオープンソース
      > プロジェクトで隠蔽まがいのことをするなんて。
       
      オープンソースプロジェクトに責任を求めるんですか?
      もしかしてフランス [srad.jp]の方?
      #本意ではないが思いついたので発言してみる
      --
      やなぎ
      字面じゃなく論旨を読もう。モデレートはそれからだ
      • Re:隠蔽 (スコア:1, 興味深い)

        by Anonymous Coward on 2004年07月15日 21時34分 (#590400)
        法的な賠償責任など負えない以上、「無償無保証」とライセンスに書くしかないけど、社会的な責任は感じなければならないんじゃないでしょうか。

        PHPのように広く普及していて、しかもコミュニティが自ら積極的な普及活動もしているようなソフトウェアにおいては、バグが見つかったら誠実に対応、修正し、正しく告知する社会的な義務があると思うべきだと思います。

        でないと、利用者(間接的なユーザも含む)が困るのはもちろんのこと、「オープンソースは、ソフトウェアは無償だし、コミュニティもボランティアベースだから信用できない」という偏見を乗り越え、覆してきた歴史に逆行することにはならない?

        今回の件が無責任とまでは思わないけどね。

        (あ、「無償」の部分についての無粋なツッコミはやめてね)
        親コメント
  • by Anonymous Coward on 2004年07月15日 13時10分 (#589953)
    phpのバージョンアップをせずに、memory_limitをはずさなくて済むアイディアはないものでしょうか?

    #トラブルだらけで一杯一杯のところに、勘弁してほしい。もう限界。
    #何台サーバのアップデートしなければならないんだろう。4.2のサーバもあるので動作確認も含めるとかなりヤバい。
    #2週間ぐらい延命できれば手が開くのだが・・・。
  • by Anonymous Coward on 2004年07月15日 14時51分 (#590069)
    記事にあるリンクを読んでみたのですが、apacheのバグ(CAN-2004-0493)によってPHPが影響を受けるのであって、apache自体にそのバグに対するパッチが当たっていれば、PHPには影響ない気もするのですがどうなのでしょう?

    PHP 4.3.8は、apacheにapacheに対するパッチが当たってなくても大丈夫なようにするための物な気もします。
typodupeerror

普通のやつらの下を行け -- バッドノウハウ専門家

読み込み中...