SNS Advisory No.32
w3m malformed MIME header Buffer Overflow Vulnerability

Problem first discovered: 25 May 2001
Published: 19 Jun 2001


概要:
World Wide Web(以下WWW)ブラウザ機能を持つページャであるw3mにはバッファオーバーフローを引き起こしてしまう問題が存在します。意図的に組み立てられたWebコンテンツを提供するWebサーバにアクセスした場合、リモートからw3mを実行しているユーザ権限を奪取されてしまう可能性があります。


問題:
w3mは他のWebブラウザ同様、リクエストメッセージ、レスポンスメッセージ内にMIME形式にエンコードされたヘッダを含めることが可能です。w3mがBASE64でエンコードされたMIME形式のヘッダを受取る際、エンコード後の文字列の長さが34個以上の場合にバッファオーバーフローが発生してしまいます。

以下はバッファオーバーフローが発生した際のメモリダンプおよびレジスタの内容です。


w3mが受取ったMIMEヘッダ例
=?AAAAAAAAAAAAAA....................AAAAAAAA(Aは50個)


メモリダンプ例:
0xbffff8a0: 0x41414141 0x41414141 0x41414141 0x41414141
0xbffff8b0: 0x41414141 0x41414141 0x41414141 0x41414141
0xbffff8c0: 0x41414141 0x41414141 0x41414141 0x41414141
0xbffff8d0: 0xbf0a4141 0x080e0000 0x00000001 0x080792c3


レジスタ例:

ESP: 0xbffff8d0
EIP: 0x41414141

上記の0x41部分に適切なコードを埋め込み、EIPを操作することで、意図するコードの実行が可能となります。


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


問題を確認したOS:
RedHat 7.0J
Solaris 7(x86)


対策情報:
この問題への対策を施すためのパッチがw3mの開発者用メーリングリストで、通し番号[2066]、[2067]として公開されています。

なお、w3mの開発者用メーリングリストはw3mの公式Webサイトからリンクが張られています。

w3m開発者向けメーリングリストアーカイブ[2066]
http://mi.med.tohoku.ac.jp/~satodai/w3m-dev/200106.month/2066.html

w3m開発者向けメーリングリストアーカイブ[2067]
http://mi.med.tohoku.ac.jp/~satodai/w3m-dev/200106.month/2067.html

w3mの公式Webサイト:
http://ei5nazha.yz.yamagata-u.ac.jp/~aito/w3m/


発見者:
小笠原啓(LAC) s.ogaswr@lac.co.jp
小林林広(LAC) sigehiro@lac.co.jp


免責:
このアドバイザリで示される情報は予告なしに改定されることがあり、かつ、あるがままの形で提供されます。この情報を適用し生起される結果のリスクは利用者が負うものとし、株式会社ラックは一切の責任を負わないものとします。


再配布について:
このアドバイザリの再配布は、下記条件を満たす限り自由です。

発行元URLとして、以下のURLを明記する。
http://www.lac.co.jp/info/advisory/32.html


リファレンス

お問い合わせ・資料請求

営業統括部:03-6757-0113(営業時間 平日9:00~17:30)、sales@lac.co.jp

スペシャルリンク

  • LACメルマガの登録
  • サイバー119導入事例テイパーズ様