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

Apache Commonsライブラリに脆弱性、多くのアプリケーションに影響 43

ストーリー by hylom
広く使われているライブラリでの問題は影響大 部門より
あるAnonymous Coward 曰く、

Javaの「Apache Commons」ライブラリに脆弱性が発見された。この脆弱性により、多くのアプリケーションに影響が発生するという(SlashdotCNET JapanITmedia)。

脆弱性が発見されたはApache Commonsの「Collections」ライブラリで、リモートから任意のコードが実行可能になるという。WebLogicやWebSphere、JBoss、Jenkins、OpenMMSなど多くのアプリケーションに影響が出るとのことで、これら各ソフトウェアに対する実証コードも公開されているという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2015年11月10日 19時47分 (#2915109)

    コマンチとかシャイアンって改名すれば強くなれるかな

    • by Anonymous Coward on 2015年11月10日 23時35分 (#2915202)

      他の部族にするより「ブリティッシュ」とか「エスパニョール」って名前にすれば?アパッチなんかより遥かに強くなるぞ。

      親コメント
    • by Anonymous Coward

      アパッチといえば軍用ヘリが思い浮かぶ。
      すごい強そう

      • by Anonymous Coward on 2015年11月10日 21時50分 (#2915152)

        ロングボウレーダーつければもっとつよくなれるよ!

        ……冗談はさておき、最近OSS関連の脆弱性多いですねえ。まともにメンテする/できるメンテナの数も品質も落ちてきてるのか、それとも元からあまりそういうタイプじゃないのかわかりませんが……。

        親コメント
        • by Anonymous Coward

          ゼロガンナーシステム(優秀なパイロットから摘出した脳を機体に直結する)もつければもっと(ry

        • by Anonymous Coward

          多分単に今まで見つかっていなかったものが見つかるようになっただけですよ。

          • by Anonymous Coward

            OSSなのに何故「今まで見つかっていなかった」のかが問われている。

        • by Anonymous Coward

          sendmailを見ろ。

    • by Anonymous Coward

      ウララーッ!って叫んでダメージを与える技でしたっけ

  • by Anonymous Coward on 2015年11月10日 20時24分 (#2915121)

    本家のスレッド読むと、serialize/deserializeをコマンドラインから直接たたかない限りだ大丈夫とか、入力サニタイズすればいいだけとか言ってるように見えるんだけど、実際どうなん?

    コード立証ページも、立証というより放置されたことへの腹いせ感情論な感じがするし。
    そりゃApache Commonは使ってるところ多いだろうけどさ。

    • Re:これどうなん (スコア:4, 参考になる)

      by Anonymous Coward on 2015年11月10日 21時09分 (#2915134)

      RPCやクッキーのような外部データをオブジェクトとして受け取る口があればcommons-collections.jarがクラスパスにあるだけで死ぬ。
      デシリアライズした時点で任意コードが実行されるので、バイト列に対してのサニタイズになるんでサニタイズは難しくて、
      デシリアライザをカスタマイズしてClassのリゾルブに制限かける形になると思う。

      親コメント
    • by hanhan4 (43237) on 2015年11月10日 22時11分 (#2915162) 日記

      問題提起側の一人である Gabriel Lawrence 氏が Apache Commons のメーリングリスト [markmail.org] で

      > We've tried to be pretty clear to people that this isnt a problem with the libraries,

      といっているので Apache Commons が何か間違えている,という話ではなさそう。

      親コメント
    • by Anonymous Coward on 2015年11月11日 0時43分 (#2915229)

      サニタイズ言うてもシリアライズされたオブジェクトを事前検証するって難儀な話ですわな
      serializer/deserializerやreflectionって怖いことやってるのに何か気楽に使われるよなぁ…

      親コメント
  • by Anonymous Coward on 2015年11月10日 23時41分 (#2915206)

    (今は知ってる人がいるかどうかは知らないけど)アパチコモンズて「100% Pure Java」でしょ?そんなコードでもネイティブ・システムに脆弱性をもたらすのなの?

    • by Anonymous Coward

      消せるファイルを手当たり次第に消したり逆に書き込めるパーティションを埋めたり。

    • by Anonymous Coward

      今回のはサンドボックス有効なら影響ないけど、普通は意図したときには Runtime.getRuntime().exec("rm -rf /"); したいというのの裏返しで脆弱性があれば許可された範囲内でも充分問題になる

      • by Anonymous Coward

        Collections で、そんなことすんのかなぁ?

        • by Anonymous Coward

          任意のコードが実行出来るので、何処の脆弱性かは関係ないんじゃ

          • by Anonymous Coward

            それを言い出したら、科学・技術計算用ライブラリーでも、exec とからやっていいじゃん?今回の事例は、データベースにアクセスするとか、組み込み機器の制御をするとかじゃない、純粋なデータ処理だけのライブラリーであるはずの Collections だったから、exec とかはないだろうってゆう、想像したんだよ。

            • by Anonymous Coward

              お前は何を言ってるんだ・・・

              # 本来の用途と脆弱性によって可能になる挙動を一緒くたにするんじゃない

              • by Anonymous Coward

                そんなこと百も承知だけどね。例えば「リスト構造」を実装するのにネイティブなプロセスにアクセスしたりせずに、ふつうに Java 言語内で閉じるような実装にするって感覚だよ。それって普通の感覚じゃないの?

              • by Anonymous Coward

                機能を実現する方法がいくつもある。20メートル隣りの家に行くにしても、素直に歩いて行くのもいいし、途中で自動車を使うのもいい。だけど普通なら歩いて行くだろう。目的の家が10km離れてるんでも、歩いって行ってもいいし、自動車を使ってもいい。でも大概は自動車などの乗り物を使うだろう。こんなふうに、機能を実現する方法はいくつもあっても、現実には、大よそ決まった方法が使われるものでしょう。自分の感覚だと、Collections の機能を実現するのに、Java で完結しない方法(非 100% Pure Java な方法)は使わないんじゃないかと思ったわけなんだよっ。そんな素朴な意見を理解できないのかなあ?

              • by rin_penguin (9144) on 2015年11月11日 19時30分 (#2915725)

                「ふつうに Java 言語内で閉じるような実装にする」という意図と、結果として「閉じるような実装になった」かどうかに乖離があるから脆弱性というものが生まれるのだけれど。

                親コメント
              • by Anonymous Coward

                クラス毎等でMAC [wikipedia.org]等のアクセス制御が設定されているならともかく、任意コード実行される場合はJAVA VMで出来る事は何でも出来てしまいます。

              • by Anonymous Coward

                あぁ、そういう意味か。

                「なんでCollection実装すんのにこんな脆弱性が入り込む余地があるんだよ」って事ね。

                まぁ、javaに関してはもう無理やりな実装してる部分があると個人的に思ってるので
                (Genericsとか内部はObjectのリストだったりするじゃない)
                その辺も不思議ではない。

                つかメモリを効率よく使うリストなんて参照の連鎖だからねぇ。ほとんどポインタの親戚みたいなもんだからなぁという印象。

              • by Anonymous Coward

                脆弱性で任意のPure Javaのコードが実行出来る結果として、Pure Javaな攻撃コードからネイティブのプロセス起動出来るだけ。
                Collectionsで何で脆弱性発生するんだよって感覚自体は理解できるが、Java言語内で閉じてるかどうかと安全かどうかは直行してると認識しないと危ないよ。

              • by Anonymous Coward

                別に100% PureなJavaでも任意のコード実行できる脆弱性は起き得るし、というかそれは100% Pureかどうかには関係ない。
                Collectionsが100% PureなJavaだったとしても任意のコードを実行できる脆弱性の原因には「なり得る」ので。

              • by Anonymous Coward

                ちなみに、補足ですが、「100% Pure Java」の定義では、環境に依存するコードを含まないことが条件なので、Runtime.exec などを含むこーどは、「標準 Java API だけを使うコード」だとしても「100% Pure Java なコード」ではありません。

              • by Anonymous Coward
              • by Anonymous Coward

                「100% Pure Java 規格」なら、そういうことはありません。「100% Pure Java 規格」を満たしているかどうかは、厳密にいえば (当時の)Sun に認定してもらう必要はありますが・・・。

  • by Anonymous Coward on 2015年11月10日 19時53分 (#2915111)

    Collectionsっていわゆるコレクションクラスのライブラリってことだよね。
    コレクションクラスの脆弱性で任意のコード実行が可能になるってなんかすげーな。

    #Javaは使ってないので細かい情報は読んでない。

    • by Anonymous Coward

      やだなぁ、ガーベジコレクション関連のライブラリにきまってるじゃないですか(ぼうよみ)。

  • by Anonymous Coward on 2015年11月10日 20時01分 (#2915113)
    どのみち俺はもう知ら無い。関与でき無い
  • by Anonymous Coward on 2015年11月10日 21時31分 (#2915139)

    去年の時点の話ですが、居たとこの関係で未報告。
    契約守って資料全部置いてきたので出せないけど、オープンソース的にはどうかと思う。

    ♯Java使ってるとこってフリーライダーばかり

    .Net使ってたとこはきっちり報告もしたし、プロジェクトの暫定回避コード部分は後日の為の目印入れたけどなぁ。。

typodupeerror

物事のやり方は一つではない -- Perlな人

読み込み中...