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

7-ZIP32.DLLにバッファオーバーフローの脆弱性 18

ストーリー by mhatta
使ってる人多いのかな 部門より

cyber205 曰く

ITmediaの記事によれば、情報処理推進機構(IPA)セキュリティセンターおよびJPCERTコーディネーションセンター(JPCERT/CC)は9月5日、圧縮・解凍用 Windows DLL「7-ZIP32.DLL」にバッファオーバーフローの脆弱性が見つかったとして、JVN(Japan Vulnerability Notes)に情報を公開した。

とのことなので、お使いの方はさっさとアップデートしましょう。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • つか (スコア:2, 参考になる)

    by alp (1425) on 2007年09月07日 22時37分 (#1215894) ホームページ 日記
    これはもとの 7-Zip の問題ですから、そっちも 4.53 以降にあげないといけないはず、というかそっちがメイン。リンク先作者のページ、ってのは (いつもの通り) ITMedia がきちんと一次情報に当たっていないのがもろばれです。但し本家の動きは [7-zip.org] どうしようもないような気が。

    # IPA は、JPCERT/CC よりはましとはいえ、まともに仕事する (と思っている) わけではないですけど、様子から見るとたぶん 7-zip.org には連絡していないな。

    • Re:つか (スコア:2, 参考になる)

      by cyber205 (4374) on 2007年09月07日 23時31分 (#1215911) ホームページ 日記
      スタックオーバーフローがさらにヒープ領域まで潰してヒープバッファオーバーフローを起こすと。
      なんだか相当に厄介なバグみたいですね。
      親コメント
      • by alp (1425) on 2007年09月07日 23時44分 (#1215915) ホームページ 日記
        ですねぇ。ただ正直それまでの処理がバグっていて、確保できたはずの領域が確保できていないせいで使っている変数が壊れているということまでをきちんとテストするか、ってのは判断の分かれるところですからねぇ。

        #作者はバグと言っているけど……

        親コメント
    • Re:つか (スコア:1, すばらしい洞察)

      by Anonymous Coward on 2007年09月10日 9時14分 (#1216940)
      互換DLL配布サイトに
      ・2007/08/15
       調査の結果、本家7-Zipのライブラリにスタックオーバーフローの問題を発見。
       本家7-Zipに問題を報告、修正依頼。
      ・2007/08/27
       本家7-Zip、4.53 betaにバージョンアップ。スタックオーバーフローの問題修正。
      ・2007/08/30
       7-Zip32.dllのソースにヒープバッファオーバーフローの問題発見。
       同時に問題修正、JPCERT/CCに連絡しリリース及び情報公開時期を調整。
      とここまで詳しい情報が出てるのに、無視して記事を書くというのは凄いな。特定の2次情報の劣化コラージュ以外禁止されてるのか、本家にも当たったけど「信頼に足る情報」が入手できなかったのか。

      ところで、本家のhistory.txtにある、Version 4.55 beta 2007-09-05 Some bugs were fixedってのは、互換DLL同様にヒープバッファオーバーフローの問題を修正したんだろうかね(互換DLL配布サイトの説明だと、08/30に発見された問題は互換DLL特有の問題であるように読めるけど)。
      親コメント
      • ここまで詳しい情報が出てるのに、無視して記事を書くというのは凄いな。

        タレコミ文に重要な情報が書かれていないとは僕も感じました。 7-Zip32.dll なんて知らなかったので、てっきり 7-Zip にバッファオーバーフローが見つかったのかと思いましたし。でも、補足は補足が必要だと思った人がするということで良いのではないかとも思います。

        まず、 7-Zip32.dll [cjb.net] というのは 7-Zip [7-zip.org] のソースコードに手を加えて統合アーカイバプロジェクト [csdinc.co.jp]の仕様に合うようにして作られた DLL です。ここでは改変前の 7-Zip を本家と呼びます。

        7-Zip32.dll の作者である秋田稔さんの説明 [cjb.net]には、本家のコードにはスタックオーバーフローがあると書かれています。このスタックオーバーフローの詳細はよくわかりませんが、 7-Zip32.dll のバッファオーバーフローとは別個の問題のように見えます。

        発見者である鵜飼裕司さんによるアドバイザリー [FFRRA-20070905] 7-ZIP32.DLL におけるバッファオーバーフローの脆弱性 [fourteenforty.jp]には、本家のスタックオーバーフローというのは出てきません。

        秋田さんと鵜飼さんの説明を合わせると、

        • zip アーカイブ中に長大なファイル名が含まれていると、本家コードでスタックオーバーフローが発生し、その後、 7-Zip32.dll のエラーメッセージ表示ルーチンが実行される。
        • 7-Zip32.dll のエラーメッセージ表示ルーチンには、長大なファイル名が渡されるとバッファオーバーフローする問題があって、攻撃可能になっている。

        という感じに見えます。本家コードでスタックオーバーフローが発生しなくても、結局 7-Zip32.dll のエラーメッセージ表示ルーチンが呼ばれてバッファオーバーフローが起きることには変化がないのではないかと想像されます。なので、二つは別個の問題だと思います。そもそも本家のスタックオーバーフローというのはセキュリティーホールではないのではないかとも思います。

        普通、スタックオーバーフローは自動的に検出されるので、攻撃が難しいです。なお、「スタック・オーバーフローで任意コードを実行できるか? [nikkeibp.co.jp]」 (今回の発見者と同じ鵜飼さんによる 2006 年の記事) によると、特殊な状況ではスタックオーバーフローが攻撃できる場合もあるらしいですが、僕には文中の条件 1 が満たされる状況がそもそも想像できません。

        親コメント
  • by Anonymous Coward on 2007年09月10日 7時46分 (#1216902)
    [FFRRA-20070905] 7-ZIP32.DLL におけるバッファオーバーフローの脆弱性 [fourteenforty.jp](正確には[FFRUA-20070730] ファイル圧縮展開汎用ライブラリの脆弱性)が発信源で7/30にIPAへ報告されてたみたいですね。

    詳しくはセキュめものJVN#62868899 - 7-ZIP32.DLL におけるバッファオーバーフローの脆弱性 [ryukoku.ac.jp]が参考に参考になるかと思います。

    # 公表当日に対策済みでもタレコミしてなかったことが悔しいのでAC
  • by Anonymous Coward on 2007年09月10日 9時51分 (#1216971)
    ちょい古い話ですがストーリーにはならなかったので一応

    国産総合アーカイバのひとつ Lhaz にも脆弱性 [itmedia.co.jp]が発見され
    修正版 v1.34 が正式リリース [chitora.jp]されています。

    +Lhaca の際 [srad.jp]も利用者が幾人か名乗り出ていましたが、
    自身で利用していなくても、身の回りの利用者への警鐘も含め、ご注意を。
  • by Anonymous Coward on 2007年09月10日 12時01分 (#1217071)
    ハードウェアDEPを有効にして回避、というソリューションが提示されないのは何故なんだぜ?

    #もしかしてほとんど効果ないのかな
    • by Anonymous Coward on 2007年09月10日 14時52分 (#1217201)
      既に回避方法が公開されているので悪意には役にたちません
      親コメント
    • by Anonymous Coward on 2007年09月11日 3時32分 (#1217531)
      >ハードウェアDEPを有効にして回避、というソリューションが提示されないのは何故なんだ?

      実行コードが示されない限り、有効/無効の判断が付かないから。
      #だから、「可能性」しか示されないわけで

      ま、それ以前に
      ・全てのプロセッサでハードウェアDEPを実装してないCPUでは意味がない。
      ・ハードウェアDEPを有効に出来ないWindowsXP SP2以前では意味がない。
      と言う点を解決できない限り、リスク発生段階で潰したほうが有効だからでしょう。
      親コメント
    • ハードウェアDEPを有効にして回避、というソリューションが提示されないのは何故なんだぜ?

      #もしかしてほとんど効果ないのかな

      何故なんだな! (コミュニケーション不全)

      一般論としては、効果がある場合もあるでしょう。「この種の脆弱性」が何を指すのかわかりませんが、セキュリティーホールが公表されるときに「ハードウェア DEP を有効にしていれば、この欠陥を悪用した攻撃の一部を回避できる」のような記述が付いていることもあります。例: 今年 5 月に Excel 2003 に見つかったセキュリティーホールの、発見者によるアドバイザリー [idefense.com]。

      今回の 7-Zip32.dll の脆弱性に関しては、セキュリティーホールが見つかって修正されたという状況で、ハードウェア DEP を有効にしたら回避できるかどうかを検証する気が起きる人がほとんどいないというだけだと思います。そんなこと考えている間に最新版に上げてしまう方が簡単で確実なので、調査するコストに見合うメリットがないのでしょう。

      親コメント
    • そもそもDEPを通るように検証済みの攻撃コードを送ってくるでしょうから
      アンチウィルスと同じく無意味ですね。
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...