7-Zipで任意コード実行が可能となる2件の脆弱性 10
ストーリー 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)
そういう経緯で開発された割にいつまでたってもアーカイブの修復機能はつかないんだな。
どちらかというと圧縮後のファイルサイズを小さくする方向にリソースを振っている。
そして圧縮率は素晴らしく高い。
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だとどっちも有効にならない