ページ内ジャンプ:

アレゲなニュースと雑談サイト

GetSetによる 2006年09月23日 9時00分の掲載
脆弱性は17歳部門より。

Elbereth曰く、"JVNにて、gzipの脆弱性についていくつか報告があがっています。

2006年9月22日現在では、JVNの上記記事では対象ベンダとしてRedhat、ubuntu、FreeBSDから報告があがっていますが、gzipのことであるからして影響はさらに広範囲になるものと思われます。
そして、さらに今回の件で特に問題なのは、LHAに関連するコードで脆弱性が発見されたことでしょう。MS-DOS時代からWindowsに至るPCのファイル圧縮技術の主流であり今もなお現役であるLHAには、解凍(展開)プログラムが山のようにあり、今回の脆弱性がこれら全てに波及する可能性があります。LHAの開発者の一人である奥村教授のBlogでは、脆弱性が発見されたコードは1989年に教授が書いたものということで、今から17年ほども前という古いコードで今頃脆弱性を発見という話にびっくりします。
ちなみに、これらの脆弱性は、最近よく見かけるGoogleセキュリティチームの、Tavis Ormandyによって発見されたとのこと。"

関連ストーリー

この議論は賞味期限が過ぎたので、保存されている。 新たにコメントを書くことはできない。
表示オプション しきい値:
  • LHAより前 (スコア:5, 参考になる)

    KENN (3839) : 2006年09月23日 10時00分 (#1024582) ホームページ 日記

    問題のファイルのひとつである"unlzh.c"の冒頭には

    The code in this file is directly derived from the public domain 'ar002' written by Haruhiko Okumura.
    というコメントがあります。

    この"ar002"をキーワードにしてぐぐると、奥村先生のサイトにあるデータ圧縮の昔話 [mie-u.ac.jp]の中のコンテンツが引っかかります(1990年 [mie-u.ac.jp]とか1991年 [mie-u.ac.jp]あたり)。

    タレコミからリンクされているBlogでも「LHAの元になったC言語ソース」(おそらくは前述のar002を指すと思われる)と発言されてますので、タレコミ文の「LHAに起源のあるコード」という記述は正確ではないと思います。

  • あのころ (スコア:5, すばらしい洞察)

    benihitode (29875) : 2006年09月23日 10時08分 (#1024593) 日記
    あのころのソフトウェアって、脆弱性なんて考えもしないものだったのでは。信用できるデータしか喰わせないつもりだから。ゴミを喰わせて固まったら喰わせた奴が悪いって感じで。
    • Anonymous Coward : 2006年09月23日 10時28分 (#1024614)
      それでも当時だと自己解凍形式だと「悪意のある人が何かしかけてるかも」といった具合に敬遠されてたような。今のほうがずっと何も気にしないで自己解凍形式を使う人が増えたような気もする。
  • アーカイバの脆弱性によって直ちに影響を受けるのがアンチウィルスソフトです。 特にフリーソフトウェアのClamAVやAmavisd-new等はアーカイブ内のウィルスを検出するためにlha等のコマンドを使う場合があるので、メールで細工されたアーカイブを送るだけで攻撃が成立します。 商用のアンチウィルスソフトはライセンスから独自のコードを使っている事が多いと思いますが、LZHなどはフリーのコードを流用している可能性もあるでしょう。
  • Phalacrocoracidae (29780) : 2006年09月23日 10時00分 (#1024585)
    Windows(XP?)であれば、標準でzipファイルを展開できること、またlzhはほぼ日本独自なので、意識的にlzhは避けてzipを使うようにしてます。

    zipと比較してlzhを使うメリットってあります?lzhは解凍できるがzipは解凍できない環境ってそうないと思うんですが。慣れ親しんだものだから?圧縮率?圧縮率どうのは把握してませんが。

    # 取引先からはいつもlzh圧縮でくるのでID
    --
    しないさせない!スルー力
    • patagon (1453) : 2006年09月23日 11時27分 (#1024662) ホームページ 日記
      人それぞれ好きなものを使えばいいという前提で。私も仕事場でPCがWindows 2000から XPに変わってからは圧縮・解凍もWindows XPについている?zipを専ら使うようになりました。ただlzhで送ってくる人・企業もあるので、Microsoftのサイトからlzhを解凍できるMicrosoft 圧縮(LZH 形式)フォルダをダウンロードしてPCに入れています。http://www.microsoft.com/genuine/offers/default.aspx?displaylang=ja
      当たり前かもしれないけど解凍せずに中身を表示させる機能って便利ですね。他の解凍ソフトにもそういう機能あるんでしょうけど。
      --
      コタツ出したら負けかなと思ってる。 [twitter.com]
    • Rodin (28411) : 2006年09月23日 12時43分 (#1024715)
      自宅でDGCA [www.emit.jp]、職場でlzhを使ってます。
      lzhよりzipの方が圧縮後のファイルサイズが小さくなるようですが、
      新旧OSの混在環境ではlzhもzipも使い勝手は同じです。

      > Windows(XP?)であれば

      Meも圧縮フォルダに対応しています。(ただ初期設定は無効になってたような・・・)
      2000はMeのファイルを流用して圧縮フォルダを利用 [nifty.com]できます。

      > zipと比較してlzhを使うメリットってあります?

      lzhはunlha32.dllを用いた圧縮/解凍用コードが広く知られており、
      業務ソフトのデータセーブ機能に広く用いられています。
      一方でzipを扱うのはどうも面倒で問題も起きそう [dobon.net]です。
      --
      匠気だけでは商機なく、正気なだけでは勝機なし。
      • Anonymous Coward : 2006年09月23日 18時50分 (#1024985)
        unlha32.dllのドキュメントを良く読むと、商利用時には要連絡となっているんですよね…。

        面倒ごとはキライなんで他の選択肢も調べてみたところ、OpenLha32.dll [infoseek.co.jp]を使う方法が一番制限が緩いようです。
        C以外から使うにはすこし宣言をいじってコンパイルしなおす必要ありますが。
      • Tsann (15931) : 2006年09月23日 14時12分 (#1024802)
        > lzhはunlha32.dllを用いた圧縮/解凍用コードが広く知られており

        このAPIは圧縮/解凍のはずなのに、なぜかメッセージループも要求するのがどうも…。
        描画は別スレッドに任せればいいじゃないかと思うんですが。

        ちなみに/.Jな方なら気づかないところで結構LZHを使っているんじゃないかと思います。
        マザーボードBIOSの更新ファイル、あれになにげに -lh5- とか入っていてびっくりです。
        • Anonymous Coward : 2006年09月23日 17時27分 (#1024938)
          >マザーボードBIOSの更新ファイル、あれになにげに -lh5- とか入っていてびっくりです。

          むかーし、わざわざ解凍してからBIOS更新したら起動できなくなった話があったような。もちろん、M/Bはメーカー送りw
    • 結構使ってますね。

      相手の設定が悪いのか、こちらが悪いのかわかりませんが、
      macユーザーとやりとりしてて、相手が日本語が入ったファイルをzip圧縮(stuffitかなんかで?)して、私(windows)側で解凍しようとすると大概文字化けしてることが多い気が。。

      なんで、相手(mac)側でlzh使ってとお願いをすることがよくあります。(今のところ化けたことがない)

      $多分どっか設定見直せばなおるのかもしれませんが
      • 1個のコメント が現在のしきい値以下です。
    • calc (16044) : 2006年09月25日 1時07分 (#1025442) ホームページ 日記
      長い間、ShiftJISで2byte目が0x5c(\マーク)になる文字をファイル名に使うとWinzip(およびunzip.dllを使う展開ツール)は正しく展開してくれない、というバグがあったのでずっとlzhで圧縮しています。

      ちなみに今確認したところ、WindowsXP標準のzip圧縮機能ではこの問題はないようです。

      #仕事で必要なファイルをWinZipで圧縮して客先へ持って行って展開したら何もない!
      #とかいう恐怖経験したらそりゃあzipを敬遠するようにもなるってもんですよ、ええ

    • 2個のコメント が現在のしきい値以下です。
  • 知らなかった! (スコア:2, すばらしい洞察)

    miyachi-y (28238) : 2006年09月23日 11時41分 (#1024676) 日記
    gzipで、lzhが扱えるなんて...
    • Anonymous Coward : 2006年09月23日 12時46分 (#1024718)
      念のため。
      アルゴリズムとして lzh を使えるということであって、LHA で圧縮したファイルを gzip でほどけるというわけではない。
      • taka2 (14791) : 2006年09月23日 13時42分 (#1024775)
        もうちょっと書くなら、互換性のために、gzip は
        (SCO compress -H) で圧縮されたファイルも伸張できるようになっている、ということですね。

        LHAも SCO compress -H も、圧縮アルゴリズムとして
        Lempel-Ziv(LZ77)と Huffman を組み合わせているという点では同じですが、
        この2者に直接の関係はありません。

        ついでに書けば、gzip は「GNU の zip」ではありません。
        gzip の圧縮と zip の圧縮は別物です。

        zip のdeflate圧縮したファイルも扱えたりしますが、
        (こちらは単位アルゴリズムが同じだけではなく、1ファイルだけdeflate圧縮したzip ファイルを伸張できる)
        これは compress で圧縮したものを扱えるのと同じように、
        ユーザーの利便性を考えてサポートされたものです。
        • tt (2867) : 2006年09月24日 0時05分 (#1025105) ホームページ 日記
          なんか全体的によくわからない日本語ですね…ACの方が記述されてますが、ソースコードからしてgzipはGNUのzipですよ。ただし、ここでいうところのzipは商標であるところのziploc [wikipedia.org]から着た、「一般的な圧縮機能を持つソフト」です。 一般的に".zip"という拡張子がつく書庫+圧縮ファイルを処理できる、GNUが配布するソフトではない、という意味では「GNUのzipではない」のですが。
          zip のdeflate圧縮したファイルも扱えたりしますが、 (こちらは単位アルゴリズムが同じだけではなく、1ファイルだけdeflate圧縮したzip ファイルを伸張できる) これは compress で圧縮したものを扱えるのと同じように、 ユーザーの利便性を考えてサポートされたものです。
          「利便性を考えて」とのことですが、gzipを使うといったら普通deflate形式ではないでしょうか。まあ確かにcompressだったりlh5だったりも使えるわけで、それが今回の脆弱性のメインなわけですが…
          --
          -- Takehiro TOMINAGA // may the source be with you!
  • Anonymous Coward : 2006年09月23日 11時56分 (#1024682)
    "ー" と "一" の間違いは中韓の人間がPCで日本語を書くときによくあります。
    • Anonymous Coward : 2006年09月23日 16時37分 (#1024911)
      なぜ彼らが「-」を使うかというと、GB2312とKS X 1001にはひらがな・カタカナは入ってるけど「ー」はないというのも大きいと思います。
      JIS C 6226からパクってくるとき「ー」だけ離れた位置にあったので日本語のネイティブでない人間にはそれも必要であることが認識できなかったのでしょうね。
    • 1個のコメント が現在のしきい値以下です。
  • Re:無責任さを感じます (スコア:5, おもしろおかしい)

    majiresman (14660) : 2006年09月23日 12時49分 (#1024723) 日記
    煽りコメントが俺を呼ぶ。マジレスマン参上。

    > 私には、OSS、フリ一ソフトの中には飛び散った精子にしか見えないモノがある。

    フリーソフトは精子と一緒、という話、まったくもってその通りだ。
    そのままゴミ箱行きとなる益体のないものも多い。

    その一方で、大変に役立つ存在のものもある。
    だいたい遺伝子の運び手・精子なくては君も生まれなかったのだ。

    コードを伝播させていろいろなものに組み込まれるような挙動を思えば
    ドーキンスの「身勝手な遺伝子」とOSSの挙動というのはアイデア的に
    似通っているのかもしれない。
    --
    (∑´w`)キョウモ マジレス
  • Re:無責任さを感じます (スコア:3, すばらしい洞察)

    CowardDuck (25674) : 2006年09月24日 1時13分 (#1025135)
    OSS だったからこの問題を発見できたわけです。

    プロプラエタリのソフトだったら実際にトラブルが
    発生するまで発見されずにいた可能性が高いですね。
  • 5個のコメント が現在のしきい値以下です。