フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: [Support] Delphi and C++ Builder VCL Library Buffer Overflow
DEKO
管理者
投稿数: 2691
[Support] Delphi and C++ Builder VCL Library Buffer Overflow
on: 2014/08/19 15:24 Tue

http://support.embarcadero.com/article/44015
http://support.embarcadero.com/article/44073
※ 細工された BMP 画像を処理させる事でバッファオーバーフローを起こして任意のコードを実行できる脆弱性の修正方法です。

Report No: 126004            Status: Resolved
Delphi and C++ Builder VCL library Buffer Overflow
http://qc.embarcadero.com/wc/qcmain.aspx?d=126004
QCWIN:Defect_No=126004

 
当該 QC によると、この脆弱性は Delphi 4 から存在する可能性があるとの事。カントゥさんのブログにも詳細があります。

[Fix for Buffer Overflow in VCL Bitmap Processing Code (marco's tech world)]
http://blog.marcocantu.com/blog/2014_august_buffer_overflow_bitmap.html

問題の回避方法は示されていますが、以下の様な疑問も出てきます。

  • HotFix は XE6 にしか提供されていない。
  • C++Builder では実質動的パッケージが使えないという事になる。
  • XE5 以前では作成したアプリケーションの脆弱性は取り除かれるが、IDE そのものの脆弱性は?

IDE に脆弱性があるかも?という件については以下の通り。

  • IDE 自身が (Vcl.)Graphics を含むパッケージ (vclxxx.bpl) を利用しているが、件の解決方法ではパッケージは再生成されない。
  • TBitmap 用のプロパティエディタで TImage が使われている…つまり、脆弱性のある (Vcl.)Graphics が使われている。
  • フォームエディタでも画像は表示される…つまり、脆弱性のある (Vcl.)Graphics が使われている。
  • Appmethod も vclxxx.bpl 使ってるよね?

バッファオーバーフローを起こせる BMP 画像の実物を持っていないので確かな事は言えませんが、XE5 以前には QC#120841 (http://qc.embarcadero.com/wc/qcmain.aspx?d=120841) があるので、不正なヘッダの BMP を読み込ませると、先に IDE が落ちる気がしないでもないです。ただ、IDE が落ちるのが先か、任意のコードを実行できるのが先かは現時点ではハッキリしていません…公式見解を待つことにします。

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.017 sec.