本脆弱性は Cisco Talos のMarcin Nogaが発見しました。
Talos は、Lhasa LZH/LHA 圧縮解除ツールおよびライブラリにおける脆弱性TALOS-2016-0095/CVE-2016-2347 を発見したことを発表します。この脆弱性は整数がアンダーフロー状態になることが原因で起こります。Lhasa はヘッダー値が大き過ぎないことは確認しますが、ヘッダーの長さが小さ過ぎるかどうかはチェックしません。圧縮解除する LHA または LZH ファイルに整数型の最小値よりも小さいヘッダー サイズが含まれていると、圧縮解除ソフトウェアはヒープ上で解放されたメモリを指すようにポインタを割り当てます。そのようなファイルの長さやコンテンツを制御しようとする攻撃者は、この脆弱性を利用して任意のコードでヒープを上書きすることができます。
攻撃の明らかな目的は、ユーザをだまして悪意のあるファイルを開かせて脆弱性を悪用し、ユーザのデバイスで悪意のあるコードを実行させることです。このほかにも、あまり知られていない目的があります。それは、Lhasa ライブラリを使用して、LZH ファイルと LHA ファイルのコンテンツを読み取るファイル スキャン システムを不正利用することです。E メールの添付ファイル、インターネット経由でダウンロードされたファイルなどをスキャンするシステムでは、多くの場合、あまり一般的ではないファイル形式もスキャン対象にする必要があります。このようなスキャン システムでは頻繁に標準のオープンソース ライブラリを使って、ファイルのコンテンツを解析し、抽出します。このような(一般的ではない)形式のファイルを開いてスキャンするのにはユーザの介入は必要ありません。そして、これがリモートでコードを実行する、悪意のある攻撃者の手段となり得ることがよく見逃されます。これと同様の脆弱性もまた、セキュリティ コントロールを回避して組織のシステムにアクセスする手段になり得ます。
ユーザは、攻撃を受けやすいサードパーティ システムのライブラリを使用することによって、こうした脆弱性に晒される可能性があることを見過ごしてはなりません。
Snort ルール:37493、37494
ClamAV:BC.Unix.Exploit.Agent
FireAMP:Unix.Exploit.Agent
最新のルールの詳細については、Defense Center、FireSIGHT Management Center、または Snort.org を参照してください。現時点における本脆弱性の性質により、Web および E メールへのカバレッジは AMP によって提供されます。
本稿は 2016年3月31日に Talos Group のブログに投稿された「VULNERABILITY SPOTLIGHT: LHASA INTEGER UNDERFLOW EXPLOIT」 の抄訳です。