Brown Orifice と NC 4.75のバグ

初稿:2000年9月24日

最終更新: 


最終解決法:
当ページに記載された問題は、ついに解決したようです。2001年4月3日にリリースされた NC 4.77 で、ブックマークの文字化け問題が修正されている、という報告がありました。従って、4.77 以降 にアップグレードすることが、文字化け問題と Brown Orifice の双方に対する解決策、という事になります。

念のために、過去の内容をそのまま以下に記します。


このページについて:
このページは、最近発覚した Brown Orifice という名前で知られるセキュリティホールと、NC 4.74 以降に存在するブックマークの文字化け問題について記載したものです。当UFAQ日本語版オリジナルであり、本家UFAQの翻訳版ではありません。主として、私の使用経験(英語版のみ)と Web で読んだ記事に基づいており、文責はすべて私(池田)にあります。
速報版ですので、今後追加改訂される可能性があると考えてください。また、裏技的記載も含まれていますが、動作保証はできかねますので、あらかじめご了承ください。自己責任でお願いします。

1.ブックマークの文字化け

すでに御存知の方も多いとは思いますが、NC 4.74 および 4.75 (英語版、日本語版とも)には、ブックマークが文字化けするバグが存在します。具体的な症状は、ブックマークの中の一部の日本語(2バイト)文字(漢字が多いようですが、カタカナも化けます)が、› などに置き換えられる、と言うものです。(リンクの内容はアルファベットですから、影響されずに正常動作します)
例:プロ野‹?ャ報(正しくは、プロ野球速報)
問題なのは、これが画面表示上だけの現象ではなく、ブックマークファイル自体が改変されてしまう、という所にあります。従って、一旦この症状に罹患すると、仮にバージョンを元に戻したとしても、改変されたブックマークファイルは元には戻りません。
改変されたブックマークの修理法はこちらを参照
最も確実な回避方法は、4.74 以降にアップグレードしない事です。このバグを体験してみたいという人は、必ずブックマークファイル (bookmark.htm) をバックアップした上で、インストールしてください。なお、初回の起動時には、改変前のブックマークが読み込まれますから、一見大丈夫そうに見える事があります。ブックマークを編集した上で、一旦終了し、再度起動してみると恐らく改変されているでしょう。

<2000年10月28日追記>
この症状は、NC 4.76 でも改善されていないようです。

2.Brown Orifice

これまた、すでに御存知の方も多いとは思いますが、NC 4.74 以前の全てのバージョンには、Brown Orifice という名称で知られるセキュリティホールが存在します。これは、「Java 史上最悪のバグ」と呼ばれており、危険度は決して低くないと考えます。原因は、Netscape の Java 実装のまずさにあり、Java 自体に起因するセキュリティの問題ではありません。詳細については、
Netscape 4.74 「Brown Orifice 」セキュリティ・ホール問題に関するまとめ (メーリングリストのアーカイブ)
を参照してください。
リンクした文書にもあるように、この問題を回避する方法は、
  1. Java を無効にする(編集|設定|詳細 で Java のチェックを外す)
  2. NC 4.75 を使用する(この問題は、4.75 で fix されました)
  3. Netscape 6 (現在の所、PR2)を使用する
があげられます。
このうち、#2 については、上記したブックマークの文字化け問題がある以上、お勧めできません。また、N6 はベータ版ですので、これまた万人にお勧めできる訳ではありません。従って、NC 4.73 以前のバージョンを使用して、かつ、Java を使用しない、と言うのが最も安全な対策、という事になります。
 

3.裏技を使ってみたい人のために

Java も使いたいが、セキュリティホールも埋めたい、そしてブックマークの文字化けも回避したい、と考えるのが人情でしょう。以下の方法は、動作した、という報告はありますが、全てのシステムで動作するという保証はありません。人柱になってもよい、という人限定です。

その1: 4.75 をベースにして、文字化けを回避する。

文字化けの原因は、netscape.exe そのものにあるようです。Yahoo の掲示板に報告された方法ですが、4.75 の netscape.exe を、あらかじめコピーしておいた 4.73 の netscape.exe で置き換える、という方法です。当 UFAQ[ja] ゲストブック にも、動作したという報告があります。 竜宝 さんからのゲストブックへの報告です。
http://www.geocities.co.jp/SiliconValley-Oakland/1428/475BM.TXT
をご覧ください。 山崎 さんからのゲストブックへの報告です。山崎 さんが作成した、netscape.exe の問題箇所を修正するパッチを適用します。
http://member.nifty.ne.jp/yatsushi/nn475pat.exe
から、nn475pat.exe (56KB) をダウンロードして、...\Communicator\Program フォルダに置きます。NC を終了した後、DOS窓(MS-DOSプロンプト)を開いて、
> cd "\Program Files\Netscape\Communicator\Program"
> ren netscape.exe netscape.orig.exe
> nn475pat netscape.orig.exe netscape.exe
のようにしてパッチを当てます。

(蛇足)DOSコマンドの解説。

1行目: カレントディレクトリを \Program Files\Netscape\Communicator\Program に移動します。デフォルト以外の別ディレクトリにインストールしている人は、ここの変更が必要です。
2行目: netscape.exe を netscape.orig.exe にリネームします。修正後には、これがオリジナルのバックアップになります。
3行目: nn475pat.exe を起動して、netscape.orig.exe に修正を加えた netscape.exe を新規作成します。

注意:netscape.orig.exe と netscape.exe は、バイト数は同じで、ファイル作成の日付が異なります。


参考:壊れたブックマークの修理法
上記、竜宝 さんのPerl を使用した方法も有効ですが、Perl をおもちでない方は、Gom さんの修正ツールをお試しください。
URL は、 http://www.lt.sakura.ne.jp/~gom/bin/NCBMR.lzh
ここから、NCBMR.lzh (32KB) を適当なフォルダにダウンロードします。解凍すると、BMRP.bat, NCBMR.exe および NCBMR.txt の3つのファイルが得られます。NCBMR.txt の記載に従って使用してください。
 

その2: 4.73 をベースにして、セキュリティホールを埋める。
私が思いついたのは(すでにどこかの誰かが思いついているかも知れませんが)、「4.75 の Java ファイルを、4.73 以前で使用できないか?」という極めて安直な発想です。当方のシステム、すなわち、Win 98 SE + NC 4.73[en] で試してみたところ、Java applet は動作し、Brown Orifice のテストページでは「修正済み」という結果が返ってきました。しかし、数日間の実績しかなく、複数バージョンの NC および OS で検証したわけでもありません。方法としては、あらかじめコピーしておいた NC 4.75 の \netscape\program\java\bin フォルダと \netscape\program\java\classes フォルダの内容を NC 4.73 の同一フォルダに上書きします。
<2000年10月12日追記>
FNSCAPE@Nifty の えむけい さんから、上書きするファイルは \java\classes フォルダの java40.jar だけで良い、というコメントをいただきました。なお、JPEG 表示のセキュリティホールも存在するので、\netscape\program フォルダの jpeg3240.dll もリプレースした方が良いとの事です。

その1がここまで発展すると、その2は取り下げた方が良いような気もしますが(^^;

コメントおよび報告していただいた皆様に感謝します。
 
 

*記載の誤りなどのフィードバックは UFAQ[ja] ゲストブック へどうぞ。*


UFAQ日本語版の目次へ戻る