アーカイブ
w3m malformed MIME header Buffer Overflow Vulnerability
2001年6月19日 | 注意喚起
SNS Advisory No.32
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/
発見者
小笠原啓(ラック)
小林林広(ラック)