[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00762] Re: security bug report



小野寛生です

反応鈍くてすみません。

青野 = aono@cc.osaka-kyoiku.ac.jp (Tomoki AONO) wrote:

青野> #最近よくここで口を出してますが、以下は全て個人的意見です。
青野> #対応についてはメンバーの方々で考えられているかもしれません。

そもそも、この ML に参加しているという以外に「誰が Project メンバー」
という区切りってあるのでしょうか?
「FreeWnn Project として」何かを決めるというのは誰がどうするのでしょう?
% {www,ftp}.freewnn.org をいじれる人というのはあるでしょうけど。

青野> そのほか気になったのは「コマンドを認証なしに受け取ってしま
青野> う」という表現ですが、そもそも(Wnn7も含めて)Wnnのプロトコ
青野> ルに認証という概念はないと青野は理解しています。辞書ファイ
青野> ルごとのパスワード設定(ただしパスワードは他のファイルから
青野> 読み込むようになっています)や、(Wnn6以降では)ホスト名・ユー
青野> ザ名(自称でもOK)によるアクセス制限(JS_OPENコマンド受信時?) 
青野> はありますが、telnetのような接続時のユーザ認証はありません。

>>   どこに書くにせよ、辞書ファイルがどのディレクトリにあるはずかとい
>>   う情報は jserver が握っているはずですから、そのディレクトリ以下
>>   には書き込めない、という動作がいいのかなあと思うのですが、どうで
>>   しょう。jserver_dir のかわりに (jserver_dir と共に?)、そのディレ
>>   クトリを使えばいいのですよね?

私にわかるのは FreeWnn だけなので、それに限ってまとめ直しますが、
・jserver が知っているのは、JSERVERDIR という path だけ。
  JSERVERDIR は compile 時 or jserverrc で指定される。
・KKTP にはユーザーという概念が存在しないので、user は区別できない。
  当然、jserver は user を区別していない。

というわけで、

・JSERVERDIR 以外の path にユーザーが辞書ファイルを置く/作ることがある
  ので、jserver は無批判に辞書の path を受け付けるようにしてある。
・正しいユーザーかどうかは確認 (できないので) しない。
・従って、~/.wnndic/ 下のみといった制限は、ユーザー、path が正しいかど
  うか判別しようがないので、かけられない。

ではこれまでは何ができたかというと、
・jserver の user 権限で書き込める場所を限る。
  user wnn か、world writable な場所でないと書けなかった。
  今後は、うかいさんの patch で「指定した (==JSERVERDIR) 以外の場所には
  書けない」ようになる。
・個人用の辞書には、password をかける。
  共有の辞書は、owner != wnn にして jserver が更新できないようにする
・JSERVERDIR 以外におかれている辞書は
        JS_FILE_SEND            0x63
        JS_FILE_RECEIVE         0x64
  を使って jserver とやりとりする。
  既知の問題:
    複数の session (?) で同じ辞書を SEND しても統一されない。
    最後に RECEIVE した session の頻度、辞書内容 (追加、削除したとき)
    で上書きされ、他の session の情報は捨てられる結果となる。

というところでしょうか。
じゃあ、これをどう変えればよいの? という話は brain storming 程度しかさ
れていないというところだと思います。

他に、私の個人的な問題:
    設定ファイルで、
        JS_FILE_READ            0x61
        JS_FILE_WRITE           0x62
    するのと
        JS_FILE_SEND            0x63
        JS_FILE_RECEIVE         0x64
    するのをどう区別して指定できるのかわかっていない。
    Wnn FAQ 1-5 にある辞書/頻度ファイル名の冒頭に ! をつけるというのが
    解なんでしょうか。

青野> #ソースを見る限り、tamagoやwnn7-egg(omronsoft.co.jpをみた
青野> #ら、ダウンロードできるようになってますね。)は一旦サーバ
青野> #側に作らせたあとそれをクライアント側に転送・使用する方法
青野> #をとっているのでこの問題は起きません(多分)。

というわけで、これはできるはずです。

青野> せんが)には必ず含まれるでしょう。1.10については…Debianパッ
青野> チだけ抜き出してbackport作ってみましょうか。青野としては、
青野> 1.1.1を出してもらって1.10をObsoleteにしてもらった方が(古す
青野> ぎるので)うれしいです。

1.10 にあてるのは .rej みてちょいちょいと変えてというわけにはゆかなそ
うなので、完成度が低くてもどこかで切って 1.1.1 を出してしまった方がよ
いのでしょうね。
どのみち、Linux、*BSD 方面では -aXXX が rpm やら ports/pkgsrc に使われ
ているわけですし。
% 前が 1.10 なら、今度は 1.11 のような気がするのだけど、何で 1.1.1 に
% なったのでしたっけ?

青野> …以上長々と書いてみたのですが、いかがでしょうか > Project
青野> メンバーの皆様

% Wnn4 のマニュアルの html 化は、中途半端なものを私がおいていたのが
% Wnn FAQ から point されているけど、数年前に消えたのに報告し忘れている…。


http://www.freewnn.org/ FreeWnn Project