Flash Player 26.0.0.137 を入れると一部の環境でクラッシュする原因を調べてみた
Flash Player 26 更新したところ Windows 7 の一部の環境(Firefox)でクラッシュしまくるようになりました
BEXなのでDEPが例外を出してるのがわかります。
クラッシュアドレスのオフセットが必ず 92cd 何ですが
スタックトレースぶっこ抜いてみたところ原因がわかりました
BaseThreadInitThunk: mov edi,edi push ebp mov ebp,esp test ecx,ecx jnz L77E2F0D4 push [ebp+08h] call edx <------- 解放済みメモリ push eax call [ntdll.dll!RtlExitUserThread] |
Flash 再生終了後、別のページを呼び出したり、Webコンポーネントにデータを渡す 過程でThread を起動するタイミングで、Flash Player のコンポーネントが既に解放されてしまってるので、クラッシュが引き起こされる
要するに、どうも、『二重解放の脆弱性』が最新版の Flash Player には埋め込んであるみたいですね
ちゃんと分析はしていないのですが、Flash Player の統括プロセスが存在しない状態で特定の処理するとクラッシュするみたいですね(この統括プロセス(FlashPlayerPlugin_26_0_0_137.exe)自体は、Windows Vista 以降でしかつかわないので、Vista 以降の問題です)
素敵!やっぱり、Adobe はハッカーにとって神様なのです・ω・
//意訳:こんな、くそバージョンのインストーラー作りたくない…。
えんばぐだー。えんばぐがでたぞー。
パッチは(作る必要性も)ないです。
えんばぐだー。えんばぐがでたぞー。
パッチは(作る必要性も)ないです。