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では脆弱性を含むライブラリを使用していることにベンダーが気付きにくいといった問題も指摘している。
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では脆弱性を含むライブラリを使用していることにベンダーが気付きにくいといった問題も指摘している。
7-Zipを使ってるソフト (スコア:2)
Xamarin.Androidが使ってたし、ラズパイとかLinux系のtar.*形式を扱うような作業だと使用推奨されることが多いような。
7-Zipはさまざまな製品で利用されている (スコア:1)
Re:7upなつかしいなぁ (スコア:0)
たまに自販機で マウンテンデューを見るとさらに胸熱
ちなみに7-ZIPは、その方面ではよく使われてますが
やっぱりWinRARがいいなぁ
Re:7upなつかしいなぁ (スコア:1)
無料という意味でのフリーに置き換えれば、EmEditor と Mery も同じような関係かも(そういや最近 EmEditor Free が復活しましたね)。
Re: (スコア:0)
そういう経緯で開発された割にいつまでたってもアーカイブの修復機能はつかないんだな。
どちらかというと圧縮後のファイルサイズを小さくする方向にリソースを振っている。
そして圧縮率は素晴らしく高い。
リカバリレコードは時代遅れ (スコア:2)
フロッピーディスクのような磁気メディアにおいては、ごく一部のビットが反転して読み取られるといった問題が生じることが多く、RARのリカバリレコードなどのアーカイブの修復機能が非常に有用でした。
しかし、HDD や SSD の場合、データが破損するときには比較的大きなブロックで壊れるため、リカバリレコードでは修復はできないケースが大半だと思います。ネットワーク転送時にも通常チェックサムの確認等が自動で行われるため、破損したデータが手元に来るケースは稀でしょう。
# WinRAR を愛用していますが、磁気メディア以外でリカバリレコードが役に立ったことは一度もないので、最近では無効にしてます。
Re: (スコア:0)
私は逆ですね・・・
一度リカバリレコードに助けられたので。
自分の性格からして付けておいても駄目なら諦めもつくだろうけど、付けずに破損したら後悔すると思う。
Re: (スコア:0)
安全な経路で安全な相手から安全なファイルを受け取るときには全く不要な機能でしょうがね
Re: (スコア:0)
RRなければ100%落とせたんじゃ
Re: (スコア:0)
なんでリカバリコード付かないんだろうなー
winrarがなんか特許でも持ってるのかね
需要はあると思うんだけど
Re: (スコア:0)
むしろ需要がないのではないでしょうか
昔はディスクは狭いわネットワークも遅いわでしたが
いまはディスクの容量単価は安いしネットワークもそれなりにスピード出るしで
RRつかうよりは同じコピーを複数保管しておいたほうがメリットがあるのではないかと思っています
もちろんディスク狭い and/or ネットワークが細い環境には意味のある機能だと思いますが
そういう需要がそんなに残っていないのでは??
完全にオフトピ (スコア:0)
私は 7z と WinRAR を使い分けてます。
7zでzip:
社外向け。未だファイルはメールでしか送らないので、意外と圧縮率よくて便利
7zで7z:
社内向け。ファイルは全部サーバに置く運用だが、容量ない&遅いため圧縮必須。
ファイルが多いとソリッドが効くのでやっぱzipより圧縮率いい。多くの場合rarより圧縮率高し。
cpu全部使う設定だとマウスカーソルが飛び飛びになるレベルで占有するので、1つは空けた方が良い
WinRAR:
プライベートor完全自分用ファイルの圧縮に使用。
圧縮に使うリソースと圧縮率のバラ
Re:完全にオフトピ (スコア:1)
# キャビネット ファイル (CAB) って昔からある割には汎用的なアーカイブ形式としては全然流行らないよね…
Re: (スコア:0)
WinRAR の前の日本代理店は、あまりにも仕事を怠けていたために win.rar GmbH から代理店契約を解除されました。
初めて知りました。確かに仕事しなさ過ぎでしたね。これで状況が改善されるといいのですが。
私は使ってませんでしたが、2ch ではユーザが日本語化dllを作っていて逞しいなと思ってました。
# キャビネット ファイル (CAB) って昔からある割には汎用的なアーカイブ形式としては全然流行らないよね…
圧縮重すぎ、伸張まで重い(気がする)、フォルダの扱いが厄介、と汎用どころかかなり場合を選ぶ形式のような。
フォルダに関しては黒翼猫さんが毎度注意してるので、何らか扱いに問題があるんだと思ってます。
Re: (スコア:0)
漏れは
・7zはメジャーになってきていて大抵のアーカイバで展開できる
・暗号の実装が非常にまじめで清く正しい(反面重たいが仕方が無い)
・ZIPは互換性高いけど文字コードとか地味に面倒。堅い暗号をつけるとエクスプローラで展開出来なかったり
と言うことで社外でも7zをデフォにしてるなあ。
次はやはりZIPだけど。
ここいらの特性はWinRARも備えてるんだけど、ワレザーのイメージがあるせいか、メールシステムでスキャンする以前に止められて相手に届かないことがかなり多くて、ビジネスでは使えない印象。どうしてこうなったのやら。
Re:完全にオフトピ (スコア:2)
> どうしてこうなったのやら。
2016年にもなって、一人称に「漏れは」などと使ってる人間に
愛用されてるからではないのか。
Re:完全にオフトピ (スコア:1)
これだよこれ
こういう揚げ足取りをしあう、本質ではないところでうんこ投げ合う
こういう殺伐としてるんだかしてないんだか、なれ合いにもにた、Facebookなんかくそ食らえ、コテハンと名無しがお互いにののしり合う、そんな漏れたちが青春時代だった頃にはやったんだよなWinRAR
だがシステム屋に聞くと、アーカイバの修復機能を利用してウイルススキャナをくぐり抜ける場合があるために原則禁止にしているんだと。
Re: (スコア:0)
愛用ってどこに書いてあんの?
アレか、特定のキーワードに反応すると発狂する人工無能botか?
AIの時代に逆に新鮮だな
Re: (スコア:0)
>アーカイバの修復機能を利用してウイルススキャナをくぐり抜ける
42へぇ~
Re: (スコア:0)
ほほー
Re: (スコア:0)
もしかして、#3012801 [security.srad.jp]が嘆いている修復機能を付けない理由には、そういうのもあるんでしょうか?
Re: (スコア:0)
7Zipも自己解凍書庫を直接解凍できませんっけ?(実行じゃなくて展開だけするってことよね?)
右クリックから解凍選べばいけたような。
Re: (スコア:0)
インストーラーは固定されたファイルしか展開しないのでとくに問題にならないでしょう。
mitigation techniquesは無意味なの? (スコア:0)
Registerに"A fully patched Windows 10 box lacking the 7-Zip fixes would not help you."とあるけど、
DEPとかASLRとか色々やってるはずのOSでも任意コード実行できるの? なんで?
Re: (スコア:0)
EMETを入れていれば防げたのかどうか気になりますね。マイクロソフトはWindows 10ではEMETは不要だ [security.srad.jp]と主張していましたが。
Re: (スコア:0)
抗生物質で細菌を殺しまくれば必然的に生き残るのは耐性菌だけです。
Re: (スコア:0)
/NXCOMPATが付いてなけりゃ/DYNAMICBASEも付いてないので既定の設定のWindowsだとどっちも有効にならない
Re: (スコア:0)
なにそれひどい。(/NXCOMPATは64bit版なら関係ないけど)
Re: (スコア:0)
Theo de Raadt 曰く "Optional Security is Irrelevant" と。
https://twitter.com/freebsdhelp/status/663978471505330177 [twitter.com]
# で、pledge あり p7zip [openbsd.org] は安全だったのかな?
Re: (スコア:0)
ASLRって、同じメモリ空間内に呼びたい関数のラッパーがあると簡単に回避できそうだけど、そうでもないんかな。
UDF も HFS+ も使ってなければ大丈夫? (スコア:0)
それともそれらを使うための仕掛けが悪さをするので使ってなくてもアウト?
Re:UDF も HFS+ も使ってなければ大丈夫? (スコア:3)
7-Zipは、内部UDFなISOイメージ(呼び名がおかしい気がするが7-Zip自体こう言う)からファイルを取り出す機能が有る。
ファイル内容でコンテナを識別するんで、拡張子がZIPでも(警告出たけど)きちんと扱えちゃう。つまり、偽装ファイルを扱うとアウト。
仕様上格納は不可だけど、展開だけする分には偽装に気付かないだろう。多機能アーカイバの罠だよね。
-- Buy It When You Found It --
Re: (スコア:0)
多分、UDFが格納されたイメージファイルを展開する話かと。
Re: (スコア:0)
7z/xzにしか対応していないLZMA SDKには影響ないはずだが一緒にバージョンアップされているな。バージョン番号が揃っていないとわかりにくいからか?
外部のライブラリを使わないなんてありえない (スコア:0)
無茶言わないでほしい。
普通、外部のライブラリを使わず全て自社で開発するなんてありえないでしょう。
Re: (スコア:0)
これどこのツリーにぶら下げようとした話題?
本文には外部ライブラリを使うなとは書いてないようだけど
不思議 (スコア:0)
なんで大人しくアップデートするという選択肢がないのか?
セキュリティリスクが最新版にあるならまだしも最新版で解決してるのに。
何かと理由をつけてアップデートしないというのが流行ってるのかと疑問に思う時がある。
Re: (スコア:0)
アップデートが必要な奴らにアップデートが必要という情報が行き渡らない問題