[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 されているけど、数年前に消えたのに報告し忘れている…。