Adobe Flash Player における ByteArray 領域解放済みメモリ参照の脆弱性(Scan Tech Report) | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2018.10.23(火)

Adobe Flash Player における ByteArray 領域解放済みメモリ参照の脆弱性(Scan Tech Report)

Adobe Flash Player には、解放後のメモリを参照出来てしまう脆弱性が存在しています。

脆弱性と脅威 エクスプロイト
1.概要
Adobe Flash Player には、解放後のメモリを参照出来てしまう脆弱性が存在しています。攻撃者は細工した SWF Flash ファイルを脆弱性のある Flash Player を利用しているユーザに読み込ませることにより任意のコード実行が可能となります。Adobe Flash Player を利用するユーザは可能な限り後述する対策を実施することを推奨します。


2.深刻度(CVSS)
10.0
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-0311


3.影響を受けるソフトウェア※1
Adobe Flash Player 16.0.0.287 以前のバージョン(Windows/Macintosh)
Adobe Flash Player 13.0.0.262 以前の 13.x バージョン(Windows/Macintosh)
Adobe Flash Player 11.2.202.438 及びそれ以前のバージョン (Linux)


4.解説
Adobe Flash Player は、zlib で圧縮されたデータ展開の一連の処理をByteArray::UncompressViaZlibVariant というメソッドで行います。このメソッド内では zlib の inflate() を呼び出してデータの展開を行った後、展開されたデータを格納するため、ByteArray::Grower クラスを利用してメモリ上
に新たな領域を確保します。

データ領域の確保に成功するとApplicationDomain.currentDomain.domainMemory(※1) にその領域を割り当て更に次のデータ展開処理を進めます。展開処理中に inflate() による処理が失敗した場合 (不正なデータを読み取った場合など) には、処理中に確保した領域を解放した後、データ展開処理を終了します。

ただし、この展開失敗時の処理に不備があり、ApplicationDomain.currentDomain.domainMemory に対して当該領域が解放された事が通知されないため、SWF の読み込みを行っているプログラムが ApplicationDomain.currentDomain.domainMemory にデータ展開のために確保したメモリ領域への参照を保持したままの状態となります。

この参照は、AVM (ActionScript Virtual Machine) で提供されている li8/si8, li16/si16,li32/si32 等の低レイヤー命令群パッケージを利用することで、参照することが可能となるため、解放済みメモリ参照の脆弱性が発生します。

※1 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/ApplicationDomain.html#domainMemory


5.対策
以下の Web サイトを参考に最新バージョンの Adobe Flash Player にアップデートすることで、この脆弱性を解消することが可能です。

Adobe Flash Player Update
https://get2.adobe.com/jp/flashplayer/
APSA15-03
https://helpx.adobe.com/jp/security/products/flash-player/apsb15-03.html

Google Chrome は Flash Player の機構を統合しているため、バージョンを最新版にアップデートして対処してください。
http://support.google.com/chrome/bin/answer.py?hl=ja&answer=95414

Windows 8 用 Internet Explorer 10 および Windows 8.1 用 Internet Explorer 11 は、Flash Player の機構を統合しているため、バージョンを最新版にアップデートして対処してください。
https://technet.microsoft.com/en-us/library/security/2755801.aspx


6.ソースコード
(Web非公開)

(執筆:株式会社ラック サイバー・グリッド研究所

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
《株式会社ラック サイバー・グリッド研究所》

関連記事

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

(。・ω・)ゞ !!ScanNetSecurity創刊20周年特別キャンペーン実施中。会員限定 PREMIUM 記事読み放題。早割10月末迄。現在通常料金半額以下!!
<b>(。・ω・)ゞ !!ScanNetSecurity創刊20周年特別キャンペーン実施中。会員限定 PREMIUM 記事読み放題。早割<font color=10月末迄。現在通常料金半額以下!!">

サイバーセキュリティの専門誌 ScanNetSecurity は 1998年の創刊から20周年を迎え、感謝を込めた特別キャンペーンを実施中。創刊以来史上最大割引率。次は30周年が来るまでこの価格はもうありません

×