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

2016年5月15日 20:28

印刷

記事提供元:スラド

オープンソースの高圧縮ファイルアーカイバ―「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では脆弱性を含むライブラリを使用していることにベンダーが気付きにくいといった問題も指摘している。 スラドのコメントを読む | セキュリティセクション | セキュリティ | ソフトウェア | バグ

 関連ストーリー:
2014年の教訓:サードパーティのライブラリには脆弱性がある 2015年01月05日
FFmpegのLZO実装コードに脆弱性、20年前から存在 2014年07月02日
libupnpに脆弱性、これを利用しているUPnP対応機器は注意を 2013年01月31日
UNLHA32.DLLの開発停止、作者がLHA書庫の使用中止を呼びかける 2010年06月07日
GNU gzipに脆弱性、1.4リリース 2010年02月05日
圧縮・展開ルーチンに脆弱性、bzip2など相次ぎリリース 2008年03月19日
7-ZIP32.DLLにバッファオーバーフローの脆弱性 2007年09月10日
zlibにバッファオーバーフロー脆弱性 2005年07月08日

※この記事はスラドから提供を受けて配信しています。

関連記事