Flash Player 26.0.0.137 を入れると一部の環境でクラッシュする原因を調べてみた

fle
Flash Player 26 更新したところ Windows 7 の一部の環境(Firefox)でクラッシュしまくるようになりました

fle2
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 はハッカーにとって神様なのです・ω・

//意訳:こんな、くそバージョンのインストーラー作りたくない…。

おすすめ

2件のフィードバック

  1.   より:

    えんばぐだー。えんばぐがでたぞー。
    パッチは(作る必要性も)ないです。

  2.   より:

    えんばぐだー。えんばぐがでたぞー。
    パッチは(作る必要性も)ないです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です