[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:15174] Re: zlib-1.1.4



いちおう補足しときます。
# いや、山口さんはちゃんと理解されてると思います。ぇぇ。

From: shingo-y@spacelan.ne.jp (YAMAGUCHI Shingo)
Message-Id: <20020830120638.1FDA05C004@ysathlon.spacelan.ne.jp>

> で、怒る怒らないという話がありますが、Plamo に参加されている
> かたは比較的古参の方が多いので、
> 
>   タコは育てよ
> 
> の精神でアドバイスを与えつつ、自力で解決できるよう見守ると
> いう古きよき Linux コミュニティの伝統が守られているのでは
> ないかな〜っと個人的には思います。

勘違いしてはいけないのは、あくまで「将来Linuxコミュニティ(今風にいえば
オープンソースの世界??)を背負って立つかもしれない後継人材を育てる」と
いう大義名分があります。

なので、甘えたり甘やかしたりというのは間違いです。古きよき Linux コミュ
ニティでも、成長しないタコ・貢献しないタコは嫌われます。

別にパッケージを作ったり、誰かの質問に答えたり、ものを作ったりするだけ
が貢献じゃなくて、単に議論のサマリや最後の顛末を投げるだけでもいいわけ
です。

今回のスレッドで出てきた man に関するくだりででてきたような、例えば愚
痴みたいなのはあまりいい印象を与えない場合が多いですが、これもひとつの
問題提起としては有益だと解釈することもできます。

まぁ、とにかく何でも書いてみないことにははじまらないってことですか。

私も、さんざん嘘ハッタリ書いて恥かきながらも、懲りずにガンガン脊髄フォ
ローを入れてるわけなんですが :-)。

> # アドバイスを聞いた後解決して、何も結果報告がないと、アドバイス
> # した人はどうなったのか不安になっているものです

ですね。こっちは単に気が向いてお節介を焼いているわけなので、相手の反応
がないのはとても寂しいです。

そういうのとは別に、結果が投げられると、それがそのまま蓄積されて後世の
役に立つってのもありますね。


以下、閑話休題。

> OpenSSL, OpenSSH の話は出ているので、Subject の zlib の話を
> しますと、1.1.3 には double free のバグ(開放したメモリ領域を
> 再び開放しようとすると何が起こるかわからない)があり、1.1.4 を
> 使いましょうということになっており、1.1.4 を入れて 1.1.3 を
> 削除すればとりあえず OK のようにみえるのですが、

malloc() は、メモリブロックを線形リストとかで管理してるんですが、一度
free() して、フリーメモリのリストに繋げられたメモリブロックをもう1回
free() すると、フリーメモリのリストがおかしくなっちゃいますね。

たいていは、この後ヒープ領域がグチャグチャになって(リストのリンク先が
ヒープの外に飛び出したりするみたい)、その後 SEGV を起こしたりするので
すが、ここで意図的にうまくヒープを壊すことで、最終的にサブルーチンの戻
り先アドレスとかに解放したメモリブロックを持っていく、ということもでき
るらしいです。

# このへんのメカニズムは、私はいくら説明を読んでも理解できなかったので、
# 誰か理解した方がいらっしゃいましたら教えてください。

malloc()で確保したメモリブロックにユーザの入力したデータが入れられる場
合、ヒープがグチャグチャになった最終形として、どこかで突っ込んだユーザ
データが実行される場合があって、そこにセキュリティホールが出てくるわけ
です。

> なお、このバグを使ったアタック方法はまだ発見されていない
> ことになってますので、緊急性はそれほど高くないのですが、

さすがにかなり複雑なので、バッファオーバランみたいに簡単に攻撃用のデー
タが作れるわけじゃないようですね。あくまで「原理上乗っ取れるかも」って
程度。
_______________________________
田原 俊一   jado@flowernet.gr.jp, shunichi_tahara@zenrin.co.jp
                                  http://flowernet.gr.jp/jado/
FingerPrint:  16 9E 70 3B 05 86 5D 08  B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

References
[plamo:15160] Re: zlib-1.1.4, Tadashi Nakamura
[plamo:15172] Re: zlib-1.1.4, YAMAGUCHI Shingo

[検索ページ] [メール一覧]
Plamo ML 公開システム