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

7-Zipで任意コード実行が可能となる2件の脆弱性 39

ストーリー by headless
発見 部門より
オープンソースの高圧縮ファイルアーカイバ―「7-Zip」で、任意コード実行が可能となる2件の脆弱性が発見された(Cisco Talos Blogの記事The Registerの記事)。

TALOS-2016-0094 (CVE-2016-2335)はUDFファイルの処理における領域外メモリ参照の脆弱性だ。UDFボリュームでは複数のパーティションマップを保持できるが、7-Zipでは利用可能なパーティションマップオブジェクトの数よりもLong Allocation Descripterから取得した「PartitionRef」フィールドの値が大きいかどうかを確認しない。そのため、Long Allocation Descripterを細工することで領域外メモリ参照を引き起こし、任意のコード実行が可能になるという。

TALOS-2016-0093 (CVE-2016-2334)はHFS+ファイルシステムにzlib圧縮で格納されたファイルの処理におけるヒープオーバーフローの脆弱性だ。HFS+ファイルシステムでzlibを用いて圧縮したファイルを格納するとき、圧縮後のサイズが3,800バイトを超える場合は複数のブロックに分割される。しかし、7-Zipで伸長を行う際、読み込んだブロックを格納する静的サイズのバッファーよりもブロックのサイズが大きいかどうかを確認しない。そのため、バッファーよりも大きくなるように細工したブロックを用いることで、バッファーオーバーフローに続いてヒープ破損を引き起こし、任意のコード実行が可能になるとのこと。

これらの脆弱性は最新版の7-Zip 16.00で修正されており、ユーザーは早期の更新が推奨される。ただし、7-Zipはさまざまな製品で利用されているため、Cisco Talosでは脆弱性を含むライブラリを使用していることにベンダーが気付きにくいといった問題も指摘している。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Xamarin.Androidが使ってたし、ラズパイとかLinux系のtar.*形式を扱うような作業だと使用推奨されることが多いような。

  • 7-Zip 自体は使わなくとも、Igor Pavlov の名前はインストーラでよく見かけますね。
    • たまに自販機で マウンテンデューを見るとさらに胸熱

      ちなみに7-ZIPは、その方面ではよく使われてますが
      やっぱりWinRARがいいなぁ

      • by caret (47533) on 2016年05月15日 13時44分 (#3012789) 日記
        わたしも、使うのは WinRAR だけど、7-Zip と 7z ってそもそもプロプライエタリな WinRAR と RAR に対抗するフリー (OSS) な実装、っていうのが出発点だったような。
        無料という意味でのフリーに置き換えれば、EmEditor と Mery も同じような関係かも(そういや最近 EmEditor Free が復活しましたね)。
        親コメント
        • by Anonymous Coward

          そういう経緯で開発された割にいつまでたってもアーカイブの修復機能はつかないんだな。
          どちらかというと圧縮後のファイルサイズを小さくする方向にリソースを振っている。
          そして圧縮率は素晴らしく高い。

          • そういう経緯で開発された割にいつまでたってもアーカイブの修復機能はつかないんだな。

            フロッピーディスクのような磁気メディアにおいては、ごく一部のビットが反転して読み取られるといった問題が生じることが多く、RARのリカバリレコードなどのアーカイブの修復機能が非常に有用でした。

            しかし、HDD や SSD の場合、データが破損するときには比較的大きなブロックで壊れるため、リカバリレコードでは修復はできないケースが大半だと思います。ネットワーク転送時にも通常チェックサムの確認等が自動で行われるため、破損したデータが手元に来るケースは稀でしょう。

            # WinRAR を愛用していますが、磁気メディア以外でリカバリレコードが役に立ったことは一度もないので、最近では無効にしてます。

            親コメント
            • by Anonymous Coward

              私は逆ですね・・・
              一度リカバリレコードに助けられたので。
              自分の性格からして付けておいても駄目なら諦めもつくだろうけど、付けずに破損したら後悔すると思う。

            • by Anonymous Coward
              P2Pで巨大なファイルをやりとりするとき、元配布者がいなくなって99.9%受信済みなのに解凍できないゴミが手元に残るケースの保険としてRARのリカバリ機能は有効です。
              安全な経路で安全な相手から安全なファイルを受け取るときには全く不要な機能でしょうがね
              • by Anonymous Coward

                RRなければ100%落とせたんじゃ

          • by Anonymous Coward

            なんでリカバリコード付かないんだろうなー
            winrarがなんか特許でも持ってるのかね
            需要はあると思うんだけど

            • by Anonymous Coward

              むしろ需要がないのではないでしょうか

              昔はディスクは狭いわネットワークも遅いわでしたが
              いまはディスクの容量単価は安いしネットワークもそれなりにスピード出るしで
              RRつかうよりは同じコピーを複数保管しておいたほうがメリットがあるのではないかと思っています

              もちろんディスク狭い and/or ネットワークが細い環境には意味のある機能だと思いますが
              そういう需要がそんなに残っていないのでは??

        • by Anonymous Coward

          私は 7z と WinRAR を使い分けてます。

          7zでzip:
           社外向け。未だファイルはメールでしか送らないので、意外と圧縮率よくて便利

          7zで7z:
           社内向け。ファイルは全部サーバに置く運用だが、容量ない&遅いため圧縮必須。
           ファイルが多いとソリッドが効くのでやっぱzipより圧縮率いい。多くの場合rarより圧縮率高し。
           cpu全部使う設定だとマウスカーソルが飛び飛びになるレベルで占有するので、1つは空けた方が良い

          WinRAR:
           プライベートor完全自分用ファイルの圧縮に使用。
           圧縮に使うリソースと圧縮率のバラ

          • by caret (47533) on 2016年05月15日 23時13分 (#3013001) 日記
            WinRAR の前の日本代理店は、あまりにも仕事を怠けていたために win.rar GmbH から代理店契約を解除されました。今は Steam 界隈で有名な株式会社デジカがやってる [winrarjapan.com]ので、デジカがちゃんと仕事するかどうか次第かなぁ。

            # キャビネット ファイル (CAB) って昔からある割には汎用的なアーカイブ形式としては全然流行らないよね…
            親コメント
            • by Anonymous Coward

              WinRAR の前の日本代理店は、あまりにも仕事を怠けていたために win.rar GmbH から代理店契約を解除されました。

              初めて知りました。確かに仕事しなさ過ぎでしたね。これで状況が改善されるといいのですが。
              私は使ってませんでしたが、2ch ではユーザが日本語化dllを作っていて逞しいなと思ってました。

              # キャビネット ファイル (CAB) って昔からある割には汎用的なアーカイブ形式としては全然流行らないよね…

              圧縮重すぎ、伸張まで重い(気がする)、フォルダの扱いが厄介、と汎用どころかかなり場合を選ぶ形式のような。
              フォルダに関しては黒翼猫さんが毎度注意してるので、何らか扱いに問題があるんだと思ってます。

          • by Anonymous Coward

            漏れは

            ・7zはメジャーになってきていて大抵のアーカイバで展開できる
            ・暗号の実装が非常にまじめで清く正しい(反面重たいが仕方が無い)
            ・ZIPは互換性高いけど文字コードとか地味に面倒。堅い暗号をつけるとエクスプローラで展開出来なかったり

            と言うことで社外でも7zをデフォにしてるなあ。
            次はやはりZIPだけど。

            ここいらの特性はWinRARも備えてるんだけど、ワレザーのイメージがあるせいか、メールシステムでスキャンする以前に止められて相手に届かないことがかなり多くて、ビジネスでは使えない印象。どうしてこうなったのやら。

            • by chronatog (8479) on 2016年05月16日 10時14分 (#3013131) 日記

              > どうしてこうなったのやら。

              2016年にもなって、一人称に「漏れは」などと使ってる人間に
              愛用されてるからではないのか。

              親コメント
              • by Anonymous Coward on 2016年05月16日 12時08分 (#3013174)

                これだよこれ
                こういう揚げ足取りをしあう、本質ではないところでうんこ投げ合う
                こういう殺伐としてるんだかしてないんだか、なれ合いにもにた、Facebookなんかくそ食らえ、コテハンと名無しがお互いにののしり合う、そんな漏れたちが青春時代だった頃にはやったんだよなWinRAR

                だがシステム屋に聞くと、アーカイバの修復機能を利用してウイルススキャナをくぐり抜ける場合があるために原則禁止にしているんだと。

                親コメント
              • by Anonymous Coward

                愛用ってどこに書いてあんの?

                アレか、特定のキーワードに反応すると発狂する人工無能botか?
                AIの時代に逆に新鮮だな

              • by Anonymous Coward

                >アーカイバの修復機能を利用してウイルススキャナをくぐり抜ける
                42へぇ~

              • by Anonymous Coward

                ほほー

              • by Anonymous Coward

                もしかして、#3012801 [security.srad.jp]が嘆いている修復機能を付けない理由には、そういうのもあるんでしょうか?

          • by Anonymous Coward

            7Zipも自己解凍書庫を直接解凍できませんっけ?(実行じゃなくて展開だけするってことよね?)

            右クリックから解凍選べばいけたような。

    • by Anonymous Coward

      インストーラーは固定されたファイルしか展開しないのでとくに問題にならないでしょう。

  • by Anonymous Coward on 2016年05月15日 13時41分 (#3012787)

    Registerに"A fully patched Windows 10 box lacking the 7-Zip fixes would not help you."とあるけど、
    DEPとかASLRとか色々やってるはずのOSでも任意コード実行できるの? なんで?

    • by Anonymous Coward

      EMETを入れていれば防げたのかどうか気になりますね。マイクロソフトはWindows 10ではEMETは不要だ [security.srad.jp]と主張していましたが。

    • by Anonymous Coward

      抗生物質で細菌を殺しまくれば必然的に生き残るのは耐性菌だけです。

    • by Anonymous Coward

      /NXCOMPATが付いてなけりゃ/DYNAMICBASEも付いてないので既定の設定のWindowsだとどっちも有効にならない

    • by Anonymous Coward

      ASLRって、同じメモリ空間内に呼びたい関数のラッパーがあると簡単に回避できそうだけど、そうでもないんかな。

  • by Anonymous Coward on 2016年05月15日 17時42分 (#3012859)

    それともそれらを使うための仕掛けが悪さをするので使ってなくてもアウト?

    • 7-Zipは、内部UDFなISOイメージ(呼び名がおかしい気がするが7-Zip自体こう言う)からファイルを取り出す機能が有る。
      ファイル内容でコンテナを識別するんで、拡張子がZIPでも(警告出たけど)きちんと扱えちゃう。つまり、偽装ファイルを扱うとアウト。
      仕様上格納は不可だけど、展開だけする分には偽装に気付かないだろう。多機能アーカイバの罠だよね。

      --
      -- Buy It When You Found It --
      親コメント
    • by Anonymous Coward

      多分、UDFが格納されたイメージファイルを展開する話かと。

      • by Anonymous Coward

        7z/xzにしか対応していないLZMA SDKには影響ないはずだが一緒にバージョンアップされているな。バージョン番号が揃っていないとわかりにくいからか?

  • by Anonymous Coward on 2016年05月15日 23時37分 (#3013008)

    無茶言わないでほしい。
    普通、外部のライブラリを使わず全て自社で開発するなんてありえないでしょう。

    • by Anonymous Coward

      これどこのツリーにぶら下げようとした話題?
      本文には外部ライブラリを使うなとは書いてないようだけど

  • by Anonymous Coward on 2016年05月16日 7時05分 (#3013070)

    なんで大人しくアップデートするという選択肢がないのか?
    セキュリティリスクが最新版にあるならまだしも最新版で解決してるのに。
    何かと理由をつけてアップデートしないというのが流行ってるのかと疑問に思う時がある。

    • by Anonymous Coward

      アップデートが必要な奴らにアップデートが必要という情報が行き渡らない問題

typodupeerror

物事のやり方は一つではない -- Perlな人

読み込み中...