vuln.sg  

vuln.sg Vulnerability Research Advisory

TurboZIP におけるバッファオーバーフローの脆弱性

by Tan Chew Keong タン チュー ケオン
Release Date: 2006-07-25

   [en] [jp]

概要

TurboZIP にバッファオーバーフローの脆弱性があります。悪意のある人は、この脆弱性を利用しTurboZIPユーザのシステムに、任意のコードを実行ことがで きま す。


問題を確認したバージョン

TurboZIP version 6.0 Build 002021004 (英語版)


問題

TurboZIP にバッファオーバーフローの脆弱性があります。それが、巧妙に細工されたZIPファイルを修理するとき、バッファオーバーフローが発生します。悪意のある 攻撃者 は、この問題を利用し TurboZIP を実行するユーザの権限で任意のコードを実行できる可能性があります。

バッファオーバーフローの脆弱性が TurboZIP の DZIP32.DLL (version 5.0.0.4) にあります。


バッファオーバーフローの脆弱性が DZIP32.DLL の以下の似ているの function にあります。

		
func_20011400(arg_0, arg_4, arg_8)
{
DWORD var1;
DWORD var2;
DWORD bytesWritten;
char buffer[0x800]; // 2048 bytes

...
var1 = 0;
var2 = 0;

// Both cases will cause buffer overflow in "buffer"
// when filename of compressed file is > 2048 bytes


if(arg_8->someFlag == 0)
CharToOemA(arg_0->NameOfCompressedFile, buffer);
else
lstrcpyA(buffer, arg_0->NameOfCompressedFile);
...
...
...
}
 


脆弱性のテストファイル

これは脆弱性のテストのためにファイルです。このZIPファイルは、バッファオーバーフローを利用し calc.exe を実行します。このZIPファイルは、英語版のWindows XP SP2が必要です。

  • turbozipEXPzip.zip (バッファオーバーフローを利用し calc.exe を実行します。)
  • turbozipEXP2zip.zip (バッファオーバーフローを利用し calc.exe を実行します。)
  • turbozipCRASHzip.zip (バッファオーバーフローを利用し TurboZIP を異常終了します。)

Instructions:

  1. Run TurboZIP
  2. Click on the "Open" button or select "File->Open..." from the menu.
  3. Select the POC ZIP file from the File-Open Dialog Box and click "Open".
  4. TurboZIP will notify you that the archive is invalid and asks whether you want it repaired.
  5. Click on "Yes" to repair it
  6. Successful exploit will run calculator (calc.exe) after about 10 seconds delay. Failed exploit will crash TurboZIP.
 


対策

2006年07月23日リリースのバージョン へのバージョンアップをしてください。修正版のダウンロード


発見と報告の経緯

2006年07月03日 - 脆弱性の発見。
2006年07月17日 - ベンダに報告しました。
2006年07月23日 - ベンダは修正版をリリースしました。
2006年07月25日 - 本脆弱性の公開。


Contact
For further enquries, comments, suggestions or bug reports, simply email them to