リンク: [ホーム] [自己紹介] [リンク集] [アルバム] [ソフトウェア] [発表文献] [その他]

まさおのChangeLogメモ / 2006-12-06

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2006-12-06 Wed

* turbolinux+sshd bug

https://bts.turbolinux.co.jp/bugtraq/show_bug.cgi?id=20062
http://www.turbolinux.co.jp/security/2006/TLSA-2006-34j.txt
にて、10月に更新された openssh-server のパッケージですが、どうもパッチの当て方が
正しく当たっていないように見えます。

手元では、上記セキュリティ更新を当ててから、ssh接続できなくなってしまう現象が続
いています。具体的には、sshd の再起動をするとしばらくは接続可能だが、しばらく経
つと接続不能になる現象です。

さて、件のセキュリティ更新パッチ(openssh-4.3p1-CVE-2006-5051.patch)ですが、
sshd.c への修正箇所で

以下の箇所:
--
@@ -1703,6 +1703,8 @@
                exit(0);
        }

+ authctxt->authenticated = 1;
+
  authenticated:
 #ifdef SSH_AUDIT_EVENTS
        audit_event(SSH_AUTH_SUCCESS);

--
は、「authctxt->authenticated = 1;」は authenticated: のブロック内に入れる修正
が正しいように思います。

cf. Openssh本家における修正内容:
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/sshd.c.diff?r1=1.346&r2=1.347

ご確認、修正いただけないでしょうか?

手元では、この修正を正しく直したものをインストールしなおして、今の
ところ、うまく動いている模様。

10月末の忙しい時期にネットワークトラブルか、マシントラブルかと、気
にしてしまったが、どうも違った模様。

どうやら、上記コードの修正ミスにて、pam関連のcleanupコードに到達で
きず、初回のアクセスではうまく接続できるのに、2度目、3度目になると、
接続不能になるなど…。cleanup周りなので、再現性も微妙なエラーが起
きることになる…。

この間、/etc/cron.hourly/sshd-restart にて、
#!/bin/sh
/etc/init.d/sshd restart > /dev/null
などと、毎時sshdを再起動する応急策を講じてきたが、とりあえず、これ
も消しておく。

色々やってみて、単なるTurbolinuxセキュリティパッチ担当のチョンボ
だったというのは、かなりトホホ。。。いいかげん、Debianとか、まとも
にユーザのついているディストリビューションに変えた方が良いのかもし
れない…。

[2006-12-07 追記]
早速、確認・修正パッチの連絡が決ました。素早い対応に感謝!!
Referrer (Inside): [2007-09-26-1]