サイトマップ
株式会社フォティーンフォティ技術研究所
  COMPANY PRODUCTS SERVICES RESEARCH RECRUIT CONTACT
Released Advisories [FFRRA-20071025-3] 一太郎2007 TJSVDA.DLLのリッチテキストファイル処理におけるinfo-titleバッファオーバーフロー脆弱性

■ 報告日:
2007年8月9日

■ 公開日:
2007年10月25日

■ ソフトウエア名:
一太郎ビューア
一太郎11
一太郎12
一太郎13
一太郎2004
一太郎2005
一太郎文藝
一太郎2006
一太郎ガバメント2006
一太郎2007
一太郎ガバメント2007
一太郎2007体験版
一太郎Lite2
一太郎 for Linux

■ ベンダー:
ジャストシステム
http://www.justsystem.co.jp

■ Upcoming Advisory 番号:
FFRUA-20070809-3

■ 概要:
フォティーンフォティ技術研究所リサーチチームは、一太郎2007、および一太郎ビューアのリッチテキストファイル処理にバッファオーバーフロー脆弱性を発見しました。細工された文書ファイルをこの文書作成ソフトウエアで開くことで、あるいは、細工された文書ファイルが置かれたwebサイトをInternet ExplorerやFirefox等のwebブラウザで閲覧することで、文書ファイル中に記述された任意のコードを実行させる事ができます。

■ 詳細:

リッチテキストファイルの"{\info{\title"フィールドに長いタイトル名(64KB程度)を指定し、一太郎に読み込ませることでバッファオーバーフローを発生させることができます。また、リッチテキストファイルの拡張子をjtdとすることで、webブラウザのプラグイン経由、またはActiveXコントロール経由(clsid:B7329235-1D72-4037-B41B-DAA44B9A12F7)でこの脆弱性を攻略することができます。

バッファオーバーフロー脆弱性は、TJSVDA.DLLに存在します。

TJSVDA.DLL
Base Address : 277A0000

.text:277EDC99 loc_277EDC99:
.text:277EDC99 mov eax, [esi]
.text:277EDC9B mov ebx, [ebp+Dst]
.text:277EDC9E test eax, eax
.text:277EDCA0 jle short loc_277EDCB7
.text:277EDCA2 cmp eax, edi
.text:277EDCA4 jge short loc_277EDCB7
.text:277EDCA6 mov ecx, edi
.text:277EDCA8 sub ecx, eax
.text:277EDCAA add eax, ebx
.text:277EDCAC push ecx ; Size
.text:277EDCAD push eax ; Src
.text:277EDCAE push ebx ; Dst
.text:277EDCAF call memcpy
・・・略・・・
.text:277EDCCE push [ebp+arg_14]
.text:277EDCD1 push [ebp+arg_10]
.text:277EDCD4 call loc_277B20ED

277EDCAFでmemcpy()が呼ばれていますが、バウンダリチェックが適切に行われていません。このため、関数loc_277EDC99()のローカルバッファ領域を上書きすることができます。従って、loc_277EDC99()におけるloc_277B20ED()関数呼び出しにおいて任意のDWORD引数を渡すことができます。

.ktext:277B20ED loc_277B20ED proc near
.ktext:277B20ED push ebp
.ktext:277B20EE mov ebp, esp
.ktext:277B20F0 mov eax, [ebp+arg_4]
・・・略・・・
.ktext:277B210C mov esi, [eax]
.ktext:277B210E setl cl
.ktext:277B2111 xor edx, edx
.ktext:277B2113 dec ecx
.ktext:277B2114 push edx
.ktext:277B2115 and cx, 0D000h
.ktext:277B211A push [ebp+arg_C]
.ktext:277B211D add ecx, 3000h
.ktext:277B2123 push [ebp+arg_10]
.ktext:277B2126 push ecx
.ktext:277B2127 push eax
.ktext:277B2128 call dword ptr [esi+1Ch]

loc_277B20ED()では、277B20F0にて第一引数をeaxに格納します。eaxにはファイル中のタイトル名で指定された任意の値をセットできるため、従って、277B210Cにおいて任意の値をesiにもセットできます。277B2128にて、[esi+1Ch]に格納されているDWORDアドレスがcallされるため、従って、277B2128のcall命令にて任意のアドレスにジャンプさせる事が可能です。

■ 深刻度:


■ 対象OS:
Microsoft Windows

■ 脆弱性情報の取り扱い:
本脆弱性は、情報処理推進機構(IPA)の「情報セキュリティ早期警戒パートナーシップガイド」に従って処理されました。
http://www.ipa.go.jp/security/vuln/

■ 対策:
ベンダーが提供するパッチを適用してください。
http://www.justsystems.com/jp/info/pd7004.html

■ 関連情報:
http://jvn.jp/jp/JVN%2329211062/index.html
http://www.ipa.go.jp/security/vuln/200710_Ichitaro.html
http://www.ipa.go.jp/security/vuln/documents/2007/JVN_50495547.html

■ 発見者
鵜飼裕司

■ より詳細な情報:

FFR Prime Analysisサービスでは、

- 本脆弱性のより詳細な分析
- 攻撃案定性分析
- パッチ差分解析
など、より詳細な情報を提供しています。

http://www.fourteenforty.jp/services/index.htm

■ お知らせ
リサーチエンジニア、ソフトウエアエンジニアの募集を行っています。
http://www.fourteenforty.jp/recruit/index.htm
株式会社フォティーンフォティ技術研究所  
プライバシーポリシー サイトのご利用条件 このページの上へ