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

zlibにバッファオーバーフロー脆弱性 49

ストーリー by GetSet
影響範囲はどの程度か 部門より

torus 曰く、 "CNET Japan の記事によると、 セキュリティ監視会社の Secunia は米国時間7日、 zlibバッファオーバーフローを引き起こす脆弱性が存在することを発表した。 この脆弱性をつかうと、zlib を使ったあらゆるアプリケーションをクラッシュさせることができ、 また、潜在的には悪意のあるコードを走らせられる可能性もあるという。
zlib といえば 2002 年にも脆弱性の報告があったが、 広く採用されているデータ圧縮ライブラリであり、 圧縮ファイルだけでなく、画像などのデータ処理にも使われている。 また オープンソースソフトウェアだけでなく、 マイクロソフトの主要な製品などにも含まれているため、 影響範囲はかなり広いと考えられる。

ただし、上記の CNET Japan の記事によると、

Microsoftの関係者は、 同社がまだこの問題の調査を進めているところだと語った。 「初期の調査では、現在サポートされているWindowsの各バージョンには、 この脆弱性の危険がないことが判明している」(Microsoft関係者)
とのことなので、 Windows ユーザは安心していてよいのかもしれない。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 内部で利用 (スコア:5, おもしろおかしい)

    by gonta (11642) on 2005年07月08日 23時53分 (#764819) 日記
    以前DNSのプログラム(bind)のセキュリティホールが
    見つかったときに、そっくりな理由でWindows(当時は
    確かWinNT4.0)にアップデートがかかった。当時、
    UNIXに対するアドバンテージを全面に出していたMSだっ
    たのですが「なんだ、結局中身はbindか。DNS独自実装せ
    いよ。」とつっこみ入れたくなった記憶があります。

    zlib使ってない、ってのは「オープンソースなんていう怪し
    いもんはうちら使ってないよ!」という半OSSアピールとみて
    いいのかな?
    --
    -- gonta --
    "May Macintosh be with you"
    • by gonta (11642) on 2005年07月08日 23時56分 (#764821) 日記
      "半OSSアピール"=>"反OSSアピール"、でした。
      --
      -- gonta --
      "May Macintosh be with you"
      親コメント
    • by Anonymous Coward
      >zlib使ってない、ってのは「オープンソースなんていう怪し
      >いもんはうちら使ってないよ!」という半OSSアピールとみて
      >いいのかな?

      CNetの記事より
      >zlibの開発グループは、同コンポーネントを利用する
      >アプリケーションの一覧をウェブサイトで公開している。
      >これ
      • by Anonymous Coward
        >現在サポートされているWindowsの各バージョンには、この脆弱性の
        >危険がないことが判明している」

        >>これを見ると、Microsoftは、 Office、MSN Messenger、Internet
        >> Explorerなどのプログラムでzlibが使われていることが分かる。
        >
        >使っているようですが。

        いまさらながら、やっぱり、IEはWindowsの一部ではないのか。
  • 1.1系は対象外? (スコア:5, 参考になる)

    by KENN (3839) on 2005年07月09日 0時12分 (#764824) 日記

    FreeBSDのSA [freebsd.org]を見ると、対象が5.3/5.4および5-stableになっていて、まだサポート期間内の4.x [freebsd.org]が入ってません。

    何でかなぁと思ってCVSwebで5-stableと4-stableのコードを比較したら、ほぼ別物(4-stableは1.1.4で5-stableは1.2.2)だったので、SecuniaのアドバイザリにあるCAN-2005-2096 [mitre.org]を見ると、対象はzlib 1.2 and later versionとあります。Debianも対象はSargeだけ [debian.org]みたいです。

    ということで、Secuniaの

    The vulnerability has been reported in version 1.2.2. Prior versions may also be affected.
    という一文は、やや正確さに欠けるようです。

    • by rnk (11502) on 2005年07月09日 14時28分 (#764955)
      いまさらかも知れませんが,FreeBSD security MLの投稿 [freebsd.org]によれば,
      > A few people have asked about this, so to make it clear: This issue affects
      > FreeBSD 5.3 and FreeBSD 5.4 ONLY. FreeBSD 4.x is not affected.

      ということなので,4系列には影響はないようです.
      親コメント
      • > FreeBSD 5.3 and FreeBSD 5.4 ONLY. FreeBSD 4.x is not affected.

        5.3未満の5.xはサポート対象外だから書かれてないのかな、と思いつつ調べてみたのですが、

        FreeBSD5.2.1-RELEASEの zlibは 1.1.4 だったので問題なし、ということで、
        本当に、問題があるのは 5.3以降という感じですね。
        親コメント
  • by ikuuya (14857) on 2005年07月08日 23時28分 (#764810) 日記
    Windows自体じゃなくて、他のソフトウェア(フリーのアーカイバとか)に脆弱性がある って可能性は無いのですか?
    Windows+ほにゃらら では危ないですよ、とか考える必要がありそうですが…
  • タレコミに引用された CNET の記事の後には
    zlibの開発グループは、同コンポーネントを利用するアプリケーションの一覧をウェブサイトで公開している。これを見ると、Microsoftは、 Office、MSN Messenger、Internet Explorerなどのプログラムでzlibが使われていることが分かる。
    ともありますが・・・その一覧はこれ [gzip.org]ですね。ちょっと古いリストですが。

    Microsoft が zlib 使っている事自体は間違いないでしょう。 2002 年の脆弱性の時 [cert.org]でも

    Microsoft conducted a thorough source-code level review of its products in response to the reports of vulnerabilities in zlib. This review did not discover any vulnerabilities related to these reports.
    とあるので、「使っていない」わけではなかったようですから。
  • by nezuku (25740) on 2005年07月09日 0時57分 (#764843)
    こういう話を聞くと純粋にシェアの高いアプリケーション,OSから,汎用的に使われている
    ライブラリを標的にする攻撃が今後激しくなってくるのかなと思ってきます.

    詳しいことは良くわからないのですが,どうなんでしょうか?
    特定のアプリケーション,OSを狙うよりも,被害規模が拡大しやすいような気がしますが.
  • by tt (2867) on 2005年07月09日 1時11分 (#764846) 日記
    おしえてえらいひとモード。

    今回問題になった一行を見ると、CODEを記録するハフマン木はincompleteであってはいけないという記述に見えます。

    まあ常識的に圧縮すれば最適になるようにハフマン木を生成するはずなので、gzipとかは普通はcompleteなハフマン木を生成すると思います。なのでこうすることに問題はない気はしますが、deflate圧縮を規定しているRFCとかみても、「ハフマン木はcompleteであるべし」といった記述を見つけることが出来ませんでした。

    それにそもそもCODE以外のDISTとかLENはimcompleteでもいいのか?というのもよく理解できません。

    そんなわけでこの修正により、(通常のzipやgzipとかが作ることはないけど)deflate形式の規格を満たしているストリームがdecompressできなくなるように見えるのですが、どないなものでしょうか?

    --
    -- Takehiro TOMINAGA // may the source be with you!
  • PlamoLinux (スコア:1, 参考になる)

    by Anonymous Coward on 2005年07月09日 1時08分 (#764845)
    update [linet.gr.jp]パッケージが上げられています。
  • by tyuu (9154) on 2005年07月09日 10時35分 (#764904) ホームページ 日記
    FreeBSD-SA-05:16.zlib [freebsd.org]

    あれ? patch 適用後に reboot はしなくて良かったのか。
    # cd /usr/src
    # patch /path/to/patch
    # cd /usr/src/lib/libz/
    # make obj && make depend && make && make install

    最近、何も考えずに make buildworld && make buildkernel && make installkernel してしまってる。
    いかん、いかん。
    • by Anonymous Coward
      これからは良く考えてmake buildworld && make installworld && make buildkernel && make installkernel && mergemaster してください。
      • by tyuu (9154) on 2005年07月10日 1時47分 (#765097) ホームページ 日記
        や、良く考えるっていうか、
        リリースノートを良く読め。

        っていうか、あれ?
        make buildworld && make installworld ?

        /usr/obj 削除して(cd /usr/obj && chflag -R noschg /usr/obj && rm -rf obj)
        ユーザランド作って(cd /usr/src && make buildworld)
        kernel 入れて(make buildkernel && make installkernel)
        再起動して (sync;sync;shutdown -r now)
        カーネルに異常が無い事を確認してからシングルユーザになって(sync;sync;shutdown now)
        ユーザランド入れませんでしたっけ(cd /usr/src && make installworld) ?
        で再起動(sync;sync;reboot)

        いきなりユーザランドぶち込んで安全なの ?

        そして 5.x で mergemaster 必要 ?
        親コメント
        • by Stealth (5277) on 2005年07月10日 4時14分 (#765123)

          一般手順としてはいきなり world 突っ込んじゃだめです。しっかり kernel を入れてからで。

          でないと、/sbin なんかで新 kernel でしか持ってない system call を叩こうとして死ぬ可能性があります。

          あと、5.x で mergemaster は必要ですよ。例えば pf が入ったときの pf ユーザ追加や rc.d 以下の変更などの取り込み。後者は cd /usr/src/etc/rc.d && make install のがいいですが。

          もちろん、mergemaster 相当の事を自前でやってあるのであれば問題ありません。 :)

          ま、なんにせよ手順をしっかり読んでからやりましょう。make installworld 前に mergemaster -p が必要ですから。

          親コメント
          • by tyuu (9154) on 2005年07月10日 11時14分 (#765178) ホームページ 日記
            make world の利用 20.4.3. /etc にあるファイルの更新 [freebsd.org]
            > 4.6-RELEASE からは、buildworld の前に -p をつけて
            > mergemaster(8) を実行してもよいです。 これを実行すると、
            > buildworld や installworld が成功するために必要なファイルだけを比較します。

            という事は
            cd /usr/obj
            chflag -R noschg *
            rm -rf *
            cd /usr/src
            mergemaster -p
            make -j4 buildworld && make buildkernel && make installkernel
            sync;sync;shutdown -r now

            (multi user で起動して kernel が正常な事を確認)
            sync;sync;shutdown -r now

            (single user で起動して)
            fsck -p
            mount -u /
            mount -a -t ufs
            swapon -a
            cd /usr/src
            make installworld
            cp -Rp /etc /etc.old
            mergemaster -siv

            # う、ちゃんと Handbook を読んでなかった事がいまさら発覚 orz...
            親コメント
    • by Anonymous Coward
      > あれ? patch 適用後に reboot はしなくて良かったのか。
      rebootしなくても既にメモリ上にロードされているものだけ何とかすればいいんでない
  • 今のところ、自分で圧縮した奴しか解凍していないから良いんだけど、1.1.4はどうなんだろう?
    今後解凍する予定あるんだけど....
  • by Anonymous Coward on 2005年07月08日 23時01分 (#764803)
    zlibを使ったアプリにはどんなのがあるのでしょ?
    xboxにあってps2にはないのかな?
    • by Anonymous Coward on 2005年07月08日 23時21分 (#764805)
      一番影響大きそうなのは libpng かな。

      png を読み書きできるプログラムは十中八九、zlib を使ってると考えてまちがいないと思う。
      親コメント
    • by Anonymous Coward on 2005年07月09日 0時06分 (#764822)
      Linux kernel 内でも zlib由来のソースを使っている。
      が、1.1.3 頃のものがベースなようで、今々の 1.2.2 のものとは大分違うので、私の頭では大丈夫なのか判断不可能。
      Debian とか ライブラリの方しかアップデート出てないので、kernel は大丈夫なんだろう。

      しかし、Linux kernel は、kernel/lib 以外にも、各 CPU アーキテクチャ毎に似たようなコードが散在している状況はなんとかならんものだろうか?と思います。

      親コメント
    • by Anonymous Coward on 2005年07月09日 0時11分 (#764823)
      ldd `which $PROGRAM` | grep libz で見える奴、でしょうか?

      例: $ ldd `which ethereal` | grep libz
                      libz.so.1 => /lib/libz.so.1 (0xb6f7b000)

      opensshの他、ImageMagickとかnmapとか。
      親コメント
      • by Anonymous Coward on 2005年07月09日 12時17分 (#764931)
        OS にインストールされている zlib を使わず、
        ソースに同梱された zlib をスタティックにリンクするものもあります。
        こういうのは ldd でひっかかりません。

        rsync なんかがこれに該当しますが、とりあえず rsync に同梱の zlib は
        1.2.x ではないようです。rsync はネットワークごしに zlib で圧縮された
        データをやりとりできるので、万が一穴つきのバージョンを使っている場合は、
        リモートから攻略される可能性があるかも。
        親コメント
    • #764805 [slashdot.jp]と被るけど、Mozilla系列も該当しますね。

      Bug 299445 - zlib buffer overflow [mozilla.org]

      によると、1.0.xは該当せず (zlib 1.1.4)、trunkは既に修正済みとのこと。
      # Bug IDは幽霊飯 [infoseek.co.jp]より。

      親コメント
    • ZeBeDeeとか大丈夫でしょうか?zbdのzはzlibのzだと思ったんですが…

      # 自信ないのでAC

      • by Fukuro (24282) on 2005年07月09日 0時17分 (#764827)
        http://www.winton.org.uk/zebedee/download.html

        Required libraries
                * blowfish-0.9.5a.tar.gz (22k)
                * zlib-1.1.4.tar.gz (170k)
                * bzip2-1.0.1.tar.gz (455k, optional, Zebedee can be built without it)

        アウト?
        親コメント
  • by Anonymous Coward on 2005年07月08日 23時25分 (#764807)
    この前、pngを出力するだけのプログラムを作ったけど、
    関係ないよね?読まなけりゃ。ね?ね?ね?
    • Re:RE (スコア:2, おもしろおかしい)

      by Anonymous Coward on 2005年07月08日 23時28分 (#764808)
      あなたの考え方に脆弱性が見つかりました。
      親コメント
typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...