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

「UNLHA32.DLL」「LHMelt」等に脆弱性 75

ストーリー by yoosee
心当たりの方はお早めに 部門より

あるAnonymous Coward 曰く、

窓の杜の記事によると、定番の圧縮・展開DLL「UNLHA32.DLL」「UNARJ32.DLL」と圧縮・展開ソフト「LHMelt」にヒープオーバーフローの脆弱性が存在することが明らかになった。対応方法は最新版へのアップデート。詳細な情報は作者のWebサイトで公表されている。
Windowsでは老舗の圧縮・展開ソフトなので、スラッシュドット読者にもユーザーが多いと思う。該当者は早急なアップデートをしよう。

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

    by Anonymous Coward on 2007年11月12日 23時42分 (#1249070)
    バグが発見されたコード [nsknet.or.jp]が載ってる。入力のサイズを勝手に仮定しちゃいけないという基本ですな。
    • by manmos (29892) on 2007年11月13日 19時14分 (#1249730) 日記
      基本的かなぁ。

      単なる配列を定数を引数としたmallocで取ることなんて、まず無いんだけど。あの場面、mallocって手が打った次の瞬間(sizeof(xx)*argc)だけどなぁ。

      #freeするのがめんどくさいからallocaかもしれない。
      親コメント
    • by Anonymous Coward
      昔からあるソフトって、この手の対策がイマイチ(というか意識されてない)なので
      定番が故に長年更新されてないモノは、枯れてる中に爆弾が……
    • by Anonymous Coward
      M$-VCなら _argc とか _argv とかなかったっけ?
      C++にどっぷりなので malloc を見ると恐怖を感じる。
      • by Anonymous Coward
        確かに、何のためにあるのか意味がわかんない関数ですね。全部のソフトに使われているし、作者さんの自己流「標準」ライブラリなんでしょう。
        • Re:基本的なバグ (スコア:1, 参考になる)

          by Anonymous Coward on 2007年11月13日 10時15分 (#1249285)
          何のためにあるのかって、そりゃ、コマンドラインのパラメータを分解するためだと思います。
          特に UNLHA32.DLL の方では、コマンドライン記述が 1 つの文字列として Unlha() 関数に入って
          くるはずだから、それを分解する必要があるので(main() の argc, argv なんかは関係ない)
          この関数に意味はあると思います。
          親コメント
  • 更に更新されたUNLHA32.DLL Ver 2.62b が出ています。

    -- 以下引用 --
    Ver 2.62a からの変更点
    ・WinSFXM, WinSFX32(M) について, コマンド文字列関連ヒープオーバーフローの脆弱性に対応しました。
    ・一部のリソースが 2.62.0.25 となってしまっていたものを修正しました。
  • caldix [kmonos.net]だとVer 2.62aが落ちてくる。
    #FAQに「焦らず一日二日は待ってください。」と書いてあるけどね。
  • by hiroki8 (28199) on 2007年11月12日 23時53分 (#1249083)
    窓の杜の記事にある、
    本脆弱性の影響により、「UNLHA32.DLL」「UNARJ32.DLL」では、任意のコードを実行されたり、サービス運用妨害(DoS)攻撃を受けるおそれがある。
    圧縮解凍DLLが受けるDoS攻撃って何でしょうか。
    スタンドアローンな用途のソフトでDoS攻撃って初めて聞いたもので…
  • 確かにLHA利用率は下がってきていますね。
    圧縮率とか圧縮・解凍速度とかのバランス考えて、最近では7ZIP・RARが殆どです。
    それでも、圧縮率を特に気にしていないときは結構LHA使っていますが。
    それに次いで、CAB、ZIPですね。
    # このまま、脆弱性に対するアップデートしかないんだったら、そろそろ浮気しそうです。

    とはいえ、慣れのせいか、LHMeltの手軽さは手放せません。
    LHAがなくなってもLHMeltは使い続けるのかなぁ。
    # それまで、LHMeltライクなorより気に入った圧縮解凍ソフトが見当たらなければ、ですけどね。
    --
    openDoe-Ming Ver.0.72.9beta
    • 私も 7zip とか rar も含めていろいろと試してみたんですが,結局 tar+bzip2 か zip か lzh かという3択に落ち着きました.bzip2 ってかなり圧縮率いいですよ,それに普及しているし.って,Windows だとやっぱり rar なんかのほうが GUI なアプリケーションもあったり分割アーカイブも簡単に作れたりで普及しているのかなぁ.

      そういえば算術符号って一般的なアーカイブでは使われているんだろうか.特許がらみの問題があって bzip2 には使われなかったって聞いたけど.
      --
      屍体メモ [windy.cx]
      親コメント
      • >bzip2 ってかなり圧縮率いいですよ,それに普及しているし.

        圧縮率はともかくとして、普及していますか??
        親コメント
        • Windowsにおいては、HA解凍できるアーカイバの大半はgzipとbzip2に対応してるし、
          Unix系環境でも最近のディストリならほとんど入ってると思うけどそうでもない?
          親コメント
    • 圧縮率とかはどうでもいいけど、
      パスワードがかけられる分、zipを使う機会が増えましたね。

      数秒でクラックできるパスワードをかけるだけで、ISMSに適合するらしいです。
      親コメント
    • Windows だとほとんど zip を使っています。

      エクスプローラで標準で展開・圧縮できるのはでかいです。
      楽で便利だし、何より LZH 圧縮・解凍ソフトを入れてない人に送れます。

      UNIX だと、tar + gzip or bzip2 ですが。
      --
      TomOne
      親コメント
  • by Anonymous Coward on 2007年11月13日 3時48分 (#1249177)
    LHMeltは一般ユーザがアーカイバとして常用するためのアプリケーションじゃないよね。

    作者もそれっぽいことを言っているが、ファイルの圧縮・展開(解凍)ライブラリの試験用プラットフォームだと捉えたほうがよい。
    まぁ、素人が手を出すアプリケーションじゃないってこった。
    • by Anonymous Coward on 2007年11月13日 13時49分 (#1249517)
      大筋には同意なのですが、作者氏はそこまで断言していないように見えます。

      以下、LHMelt のダウンロードページ [nsknet.or.jp]からの引用。(強調は引用者による)

      元々 DLL の動作確認用に作成されたものなので, 凝った機能は何もありません。 代わりに DLL 用のやたらめったら細かい設定メニューが氾濫しています。

      初心者の方や書庫関係に明るくない方は, 解らない設定は弄らないほうがいいです。
      親コメント
  • by Anonymous Coward on 2007年11月12日 23時42分 (#1249071)
    LHa for UNIX [osdn.jp]も影響を受けるのでしょうか?
  • by Anonymous Coward on 2007年11月12日 23時48分 (#1249075)
    今朝、他人のPCセットアップしたけど、大丈夫なバージョンだったかしら?
    明日こっそり確認しないと。
  • by Anonymous Coward on 2007年11月12日 23時50分 (#1249078)
    こういうニュースを見るとそろそろLHaは捨て時なのかもと感じる。
    何かあってもUNLHA32.DLLに代わる選択肢がないのは困る。

    オリジナルの完成度が高いから、互換品を誰も必要としないんだろうなー
  • by Anonymous Coward on 2007年11月13日 0時44分 (#1249111)
    まあ、そろそろLHA自体が主流から外れてきたのでZIPに完全に乗り換えてもいいかな。

    でもVectorとかだとLZH形式のファイルが多くて…実に困る。Windowsでは標準で展開もできないし。
    • by Anonymous Coward on 2007年11月13日 2時32分 (#1249155)
      LHAがなくなっても『(圧縮ファイルを)解凍する』という言葉は無くならないんだろうな。
      親コメント
      • by youichi (329) on 2007年11月13日 10時30分 (#1249302)
         ZIPもgzも全部解凍っていいますね。
         LHAは、凍結と解凍なのに、なぜか解凍だけはやってますね。

         昔、窓の森の用語解説みたいなので解凍を全ての圧縮ファイルの伸張のことだと説明してたので、本来はLHA専用の用語だということを指摘したのに、無視されました。
        親コメント
    • by Anonymous Coward on 2007年11月13日 9時54分 (#1249260)

      捨てた方がいいというのは同意。でも理由は「アーカイブ内のファイル名の文字コードに関する規約がLHaには無い」という点。この点に関してはZIPも失格(のはず)。

      # 標準で展開できる・できないはどうでもいい。

      LHa for UNIXには(オリジナルのDOS版には無い)ファイル名の文字コード変換機能が付いてたが、アレは自力でアーカイブ内のファイル名をパースして判断していたはず。本来は

      • アーカイブのヘッダに文字コードの情報を含む
      • どのプラットフォームでも同一の文字コードを使用する
      のいずれかが必要だが、LHaにはそこまで明確な規約は存在しない(DOS時代の名残から、SJISがデファクトスタンダードとなっているだけ)。互換性を確保したまま新たな規約を設けることは、かなり困難だと思う。

      でも、LHAを捨てた後に何を使うのか。それが問題。

      親コメント
    • >> Windowsでは標準で展開もできないし。

      わざわざ「標準で」って条件を書いてるから知ってるんだろうとは思うけど,Microsoft 圧縮 (LZH 形式) フォルダ [microsoft.com]という選択肢はダメなんでしょうか?
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...