Apache Commonsライブラリに脆弱性、多くのアプリケーションに影響 43
ストーリー by hylom
広く使われているライブラリでの問題は影響大 部門より
広く使われているライブラリでの問題は影響大 部門より
あるAnonymous Coward 曰く、
Javaの「Apache Commons」ライブラリに脆弱性が発見された。この脆弱性により、多くのアプリケーションに影響が発生するという(Slashdot、CNET Japan、ITmedia)。
脆弱性が発見されたはApache Commonsの「Collections」ライブラリで、リモートから任意のコードが実行可能になるという。WebLogicやWebSphere、JBoss、Jenkins、OpenMMSなど多くのアプリケーションに影響が出るとのことで、これら各ソフトウェアに対する実証コードも公開されているという。
アパッチ弱ぇ (スコア:1)
コマンチとかシャイアンって改名すれば強くなれるかな
Re:アパッチ弱ぇ (スコア:1)
他の部族にするより「ブリティッシュ」とか「エスパニョール」って名前にすれば?アパッチなんかより遥かに強くなるぞ。
Re:アパッチ弱ぇ (スコア:2)
もしくは、文明化五部族 [wikipedia.org]の名前にするとか
# オフトピだけど、南北戦争以前とは言え、「白人の習慣を取り入れた(奴隷制度とか)ので文明化された部族」
# って、凄い時代だな、をい
Re: (スコア:0)
アパッチといえば軍用ヘリが思い浮かぶ。
すごい強そう
Re:アパッチ弱ぇ (スコア:1)
ロングボウレーダーつければもっとつよくなれるよ!
……冗談はさておき、最近OSS関連の脆弱性多いですねえ。まともにメンテする/できるメンテナの数も品質も落ちてきてるのか、それとも元からあまりそういうタイプじゃないのかわかりませんが……。
Re: (スコア:0)
ゼロガンナーシステム(優秀なパイロットから摘出した脳を機体に直結する)もつければもっと(ry
Re: (スコア:0)
多分単に今まで見つかっていなかったものが見つかるようになっただけですよ。
Re: (スコア:0)
OSSなのに何故「今まで見つかっていなかった」のかが問われている。
Re: (スコア:0)
sendmailを見ろ。
Re: (スコア:0)
ウララーッ!って叫んでダメージを与える技でしたっけ
これどうなん (スコア:1)
本家のスレッド読むと、serialize/deserializeをコマンドラインから直接たたかない限りだ大丈夫とか、入力サニタイズすればいいだけとか言ってるように見えるんだけど、実際どうなん?
コード立証ページも、立証というより放置されたことへの腹いせ感情論な感じがするし。
そりゃApache Commonは使ってるところ多いだろうけどさ。
Re:これどうなん (スコア:4, 参考になる)
RPCやクッキーのような外部データをオブジェクトとして受け取る口があればcommons-collections.jarがクラスパスにあるだけで死ぬ。
デシリアライズした時点で任意コードが実行されるので、バイト列に対してのサニタイズになるんでサニタイズは難しくて、
デシリアライザをカスタマイズしてClassのリゾルブに制限かける形になると思う。
Re:これどうなん (スコア:1)
問題提起側の一人である 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 が何か間違えている,という話ではなさそう。
Re:これどうなん (スコア:1)
サニタイズ言うてもシリアライズされたオブジェクトを事前検証するって難儀な話ですわな
serializer/deserializerやreflectionって怖いことやってるのに何か気楽に使われるよなぁ…
100% Pure Java でも? (スコア:1)
(今は知ってる人がいるかどうかは知らないけど)アパチコモンズて「100% Pure Java」でしょ?そんなコードでもネイティブ・システムに脆弱性をもたらすのなの?
Re: (スコア:0)
消せるファイルを手当たり次第に消したり逆に書き込めるパーティションを埋めたり。
Re: (スコア:0)
今回のはサンドボックス有効なら影響ないけど、普通は意図したときには Runtime.getRuntime().exec("rm -rf /"); したいというのの裏返しで脆弱性があれば許可された範囲内でも充分問題になる
Re: (スコア:0)
Collections で、そんなことすんのかなぁ?
Re: (スコア:0)
任意のコードが実行出来るので、何処の脆弱性かは関係ないんじゃ
Re: (スコア:0)
それを言い出したら、科学・技術計算用ライブラリーでも、exec とからやっていいじゃん?今回の事例は、データベースにアクセスするとか、組み込み機器の制御をするとかじゃない、純粋なデータ処理だけのライブラリーであるはずの Collections だったから、exec とかはないだろうってゆう、想像したんだよ。
Re: (スコア:0)
お前は何を言ってるんだ・・・
# 本来の用途と脆弱性によって可能になる挙動を一緒くたにするんじゃない
Re: (スコア:0)
そんなこと百も承知だけどね。例えば「リスト構造」を実装するのにネイティブなプロセスにアクセスしたりせずに、ふつうに Java 言語内で閉じるような実装にするって感覚だよ。それって普通の感覚じゃないの?
Re: (スコア:0)
機能を実現する方法がいくつもある。20メートル隣りの家に行くにしても、素直に歩いて行くのもいいし、途中で自動車を使うのもいい。だけど普通なら歩いて行くだろう。目的の家が10km離れてるんでも、歩いって行ってもいいし、自動車を使ってもいい。でも大概は自動車などの乗り物を使うだろう。こんなふうに、機能を実現する方法はいくつもあっても、現実には、大よそ決まった方法が使われるものでしょう。自分の感覚だと、Collections の機能を実現するのに、Java で完結しない方法(非 100% Pure Java な方法)は使わないんじゃないかと思ったわけなんだよっ。そんな素朴な意見を理解できないのかなあ?
Re:100% Pure Java でも? (スコア:1)
「ふつうに Java 言語内で閉じるような実装にする」という意図と、結果として「閉じるような実装になった」かどうかに乖離があるから脆弱性というものが生まれるのだけれど。
Re: (スコア:0)
クラス毎等でMAC [wikipedia.org]等のアクセス制御が設定されているならともかく、任意コード実行される場合はJAVA VMで出来る事は何でも出来てしまいます。
Re: (スコア:0)
あぁ、そういう意味か。
「なんでCollection実装すんのにこんな脆弱性が入り込む余地があるんだよ」って事ね。
まぁ、javaに関してはもう無理やりな実装してる部分があると個人的に思ってるので
(Genericsとか内部はObjectのリストだったりするじゃない)
その辺も不思議ではない。
つかメモリを効率よく使うリストなんて参照の連鎖だからねぇ。ほとんどポインタの親戚みたいなもんだからなぁという印象。
Re: (スコア:0)
脆弱性で任意のPure Javaのコードが実行出来る結果として、Pure Javaな攻撃コードからネイティブのプロセス起動出来るだけ。
Collectionsで何で脆弱性発生するんだよって感覚自体は理解できるが、Java言語内で閉じてるかどうかと安全かどうかは直行してると認識しないと危ないよ。
Re: (スコア:0)
別に100% PureなJavaでも任意のコード実行できる脆弱性は起き得るし、というかそれは100% Pureかどうかには関係ない。
Collectionsが100% PureなJavaだったとしても任意のコードを実行できる脆弱性の原因には「なり得る」ので。
Re: (スコア:0)
ちなみに、補足ですが、「100% Pure Java」の定義では、環境に依存するコードを含まないことが条件なので、Runtime.exec などを含むこーどは、「標準 Java API だけを使うコード」だとしても「100% Pure Java なコード」ではありません。
Re: (スコア:0)
いちお、
http://sp.e-words.jp/w/100-_Pure_Java.html [e-words.jp]
Re: (スコア:0)
「100% Pure Java 規格」なら、そういうことはありません。「100% Pure Java 規格」を満たしているかどうかは、厳密にいえば (当時の)Sun に認定してもらう必要はありますが・・・。
ぱっと見のインパクト (スコア:0)
Collectionsっていわゆるコレクションクラスのライブラリってことだよね。
コレクションクラスの脆弱性で任意のコード実行が可能になるってなんかすげーな。
#Javaは使ってないので細かい情報は読んでない。
Re: (スコア:0)
やだなぁ、ガーベジコレクション関連のライブラリにきまってるじゃないですか(ぼうよみ)。
ぎゃああだが (スコア:0)
Re: (スコア:0)
いわゆる、アパッチのおたけびである。
Re: (スコア:0)
助動詞「ない」は形容詞「無い」ではない [home.ne.jp]。
そんな指摘すら見無い。
ほかにもバグ持ちあるよ (スコア:0)
去年の時点の話ですが、居たとこの関係で未報告。
契約守って資料全部置いてきたので出せないけど、オープンソース的にはどうかと思う。
♯Java使ってるとこってフリーライダーばかり
.Net使ってたとこはきっちり報告もしたし、プロジェクトの暫定回避コード部分は後日の為の目印入れたけどなぁ。。
Re: (スコア:0)
社外に情報公開するにはハンコが7個ほど必要なので、「ま、いっか」ってなっちゃうのですよー
「知的財産上問題ないか」等の言い訳考えるのも大変だし。
Re:ほかにもバグ持ちあるよ (スコア:1)
Re: (スコア:0)
何と比較してのダブスタかは分からないのですが、
Apache commons collections ライブラリは、OSS であり、
様々な人によって、ソースの修正が行われているため、
アメリカの一組織であるNSAの仕業であると、
普通考えないんじゃないでしょうか。
もし、NSA がバックドアを仕掛けるのであったら、
このライブラリに手をつけるより、Apache や Tomcat に
仕掛けたほうが、効果抜群なような気がします。
もちろん、修正履歴を見て NSA に属している人の
修正しか受け入れられていないという事実が
あるのであれば、そういう考えが出てもおかしくはありませんが...
Re: (スコア:0)
頑張って考えてみたのですが、別個の事象を個別に判断するのを「ダブルスタンダード」と言っているのではないでしょうか。
全ての脆弱性を「〇〇が仕掛けたバックドアである」と考えるのが一貫したよいスタンスなのでしょう、きっと。そしてそれをしない我々は〇〇だか××だかの工作員というわけです。