Debian セキュリティ勧告

DSA-134-4 ssh -- リモートからの不正利用

報告日時:
2002-06-24
影響を受けるパッケージ:
ssh
危険性:
あり
参考セキュリティデータベース:
(SecurityFocus の) Bugtraq データベース: BugTraq ID 5093.
Mitre の CVE 辞書: CVE-2002-0640, CVE-2002-0639.
CERT の脆弱性リスト、勧告および付加情報: CA-2002-18, VU#369347.
詳細:

ISS X-Force は、OpenSSHの「リモートからの攻撃に対する脆弱性」 に関する勧告を発表しました。 残念ながら、この勧告はいくつかの点で正しくないため、この脆弱性 に対する衝撃についての広い混乱を招いてしまいます。 Debian の OpenSSH のバージョンはどれも、ISS の勧告で言及されていた SKEY およびBSD_AUTH 認証の方法に影響を受けません。 しかし、Debian は、その後に出た OpenSSH チームの勧告で脆弱性として 言及されていた PAM 機能をもった OpenSSH サーバを含んでいます。 (この脆弱な機能とは、キーボードを用いた対話的メカニズム [kbdint] を通じた PAM を用いての認証のことです。) この脆弱性は、OpenSSH のバージョン 2.3.1 から 3.3 に影響します。 現在は、 PAM/kbdint の脆弱性をついた不正利用は現在のところありませんが、 その 詳細は広く知られています。これらの脆弱性はすべて OpenSSH 3.4 では修正されています。

上で述べた脆弱性の修正に加えて、我々の OpenSSH パッケージのバージョン 3.3以上は、Niels Provos さんによる新しい権限分離機能をサポートしています。 これは ssh に、殆どの作業を、権限を持たないように分離された プロセスに行わせるようにするというものです。 OpenSSH の、権限をもたない部分の脆弱性は、直接的な root 権限の不正使用 にはつながらず、権限のないアカウントの不正使用は空の chroot に限定されます。 権限分離は、さらなる OpenSSH の不正使用の危険性を減らすために 必要なのです。

Debian 2.2 (potato) は、OpenSSH 1.2.3 に基づいた ssh パッケージ とともに配布され、この勧告の言及している脆弱性に関しては、脆弱では ありません。 バージョン 1.2.3 の ssh パッケージを用いているユーザには、そう急いで OpenSSH 3.4 にアップグレードする必要はありません。 以前の DSA-134 の繰り返しでOpenSSH のバージョン3.3 のパッケージに アップグレードしたユーザは、OpenSSH 3.3 パッケージは脆弱なので、新しい バージョン 3.4 にアップグレードする必要があります。 OpenSSH 1.2.3 を用いているユーザには、権限分離機能を利用できるように OpenSSH 3.4 に移行することもお考えくださると良いでしょう。 (しかしながら、我々は OpenSSH 1.2.3 の脆弱性については特別の知識を持ち あわせておりません。OpenSSH 1.2.3 からアップグレードする際には、下記の リストにある警告を十分お読みください。) OpenSSH のバージョン 2.0 以降のバックポートされたバージョンを potato でお使いのユーザには、OpenSSH 3.4 に以降することをお勧めします。

現在リリース前となっているバージョンの Debian (woody) は、OpenSSH の バージョン 3.0.2p1 のパッケージ (ssh) を含んでいます。これは、前述の PAM/kbdint の問題を持っています。OpenSSH 3.4 にアップグレードし、 権限分離ができるようにするようお勧めします。 アップグレードの前に、下記のリリースノートをよくお読みください。 ssh-krb5 (kerberos 認証をサポート している OpenSSH パッケージ) 用にアップデートされたパッージは、現在開発途上です。 現在 OpenSSH パッケージをアップグレードできないユーザは、 脆弱な機能を止めることによって、知られている脆弱性をどうにかすることが できます: 下記の行がコメントを外して/etc/ssh/sshd_config の中に 書かれていることを確認してから、ssh を再起動してください。

  PAMAuthenticationViaKbdInt no
  ChallengeResponseAuthentication no

sshd_config の中には、これ以外に PAMAuthenticationViaKbdInt または ChallengeResponseAuthentication が書かれていてはなりません。

これで、この勧告の、脆弱性に関する節はおしまいです。これ以降に書かれている ことは、OpenSSH 3.4 のリリースノートと、権限の切り離し機能についての記述です。 OpenSSH 3.4 パッケージの URL は、最後に書かれています。

アップグレードに関するいくつかの注記:

  • このパッケージは、`sshd' という新しいアカウントを使用します。 このアカウントは、権限分離のコードで使用されます。 sshd アカウントが存在しない場合、パッケージはこのアカウントを作成しようとします。 このアカウントがすでに存在する場合には、それが再利用されます。 これが行われないようにしたい場合には、これを手動で変更する必要があります。
  • (potato のみに関係します) このアップデートは、SSL libraryの バージョン 0.9.6c からのバックポートを追加します。 これは、libssl10.9.6 のパッケージも同様にアップグレードしなければ ならなくなるということを意味しています。
  • (potato のみに関係します) このアップデートは、デフォルトでは SSH のバージョン2を使用します (SSH プロトコルのバージョン1を 使用するように設定してあってもです)。 これによって、RSA 認証が使われているところの既存の設定を動かなくすることも あります。 以下のどれかを行うことが必要です。
    • SSH プロトコル1と、既存の鍵を使うには、ssh を起動する際に、 -1 をつける、または
    • プロトコル1を、プロトコル2より前に試す場合には /etc/ssh/ssh_config と/または /etc/ssh/sshd_configProtocol の行を "Protocol 1,2" に変更する、または
    • SSH プロトコル2のための rsa または dsa 鍵を作成する
  • sshd は、/etc/ssh/sshd_config に明記しなくても、 デフォルトで権限分離を有効にします。
  • ssh に反応しなかった場合の rsh 使用はもう有効ではありません。
  • (potato のみに関係します) 権限分離は、Linux 2.0 カーネルでは 現在動きません。
  • KeyboardInteractive メカニズムを通じた PAM 認証を用いた 権限分離は現在動きません。
  • 権限分離は、root 権限をもって動くようにしてある PAM モジュール を動けなくします。
  • 上に述べた問題のどれかにより、何らかの理由で権限分離を現在 使用することができないならば、/etc/ssh/sshd_config という ファイルに "UsePrivilegeSeparation no" と書き加える ことによって、権限分離を無効にすることができます。

この勧告で修正された以前の OpenSSH 3.3p1 パッケージの問題 (完全な changelog ではありません):

  • (potato のみに関係します) インストール時の質問 "do you want to allow protocol 2 only" のデフォルトは、potato のパッケージでは "yes" にはなっていません。この質問に "yes" と答え、さらに sshd_config ファイルを再度作成する選択肢を選んだたユーザは、 プロトコル1では接続できなくなります。 この問題にはまってしまった場合には、どのようにしてプロトコル1を有効に するかを知るために/usr/doc/ssh/README.Debian を読んでください。 potato でのデフォルトは現在 "no" となっているため、今後バージョン1.2.3 からアップグレードする方には問題はありません。
  • (potato のみに関係します) ssh パッケージは、rsh-server とは競合 しませんし、rsh の代わりを提供することもありません。
  • プロトコル1の鍵を生成する選択をしたユーザは、インストールに失敗 することはなくなりました。

重ねて述べますが、我々は、通常よりも変更点が大きく、 試験をあまり行っていないパッケージをリリースしたことを遺感に思っています; 潜在的な厳しさと、根源的な脅威があるという、特定ではない自然の事実 を受けて、我々は、ユーザにとってはできるだけ早く評価できるパッケージを 手にすることができることが最も有益であると考えました。 我々は、追加の情報を受け次第それを発信し、顕著な問題については それと取り組んでいこうと考えています。

修正:

Debian GNU/Linux 2.2 (potato)

ソース:
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1.orig.tar.gz
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1-0.0potato1.dsc
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1-0.0potato1.diff.gz
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c.orig.tar.gz
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1.diff.gz
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1.dsc
アーキテクチャ非依存コンポーネント:
http://security.debian.org/pool/updates/main/o/openssl/ssleay_0.9.6c-0.potato.1_all.deb
alpha (DEC Alpha):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0potato1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0potato1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl0.9.6_0.9.6c-0.potato.1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_0.9.6c-0.potato.1_alpha.deb
arm (ARM):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0potato1_arm.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0potato1_arm.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl0.9.6_0.9.6c-0.potato.1_arm.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_0.9.6c-0.potato.1_arm.deb
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1_arm.deb
i386 (Intel IA32):
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0potato1_i386.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0potato1_i386.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_0.9.6c-0.potato.1_i386.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl0.9.6_0.9.6c-0.potato.1_i386.deb
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1_i386.deb
powerpc (PowerPC):
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0potato1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0potato1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_0.9.6c-0.potato.1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl0.9.6_0.9.6c-0.potato.1_powerpc.deb
sparc (Sun SPARC/UltraSPARC):
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0potato1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0potato1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_0.9.6c-0.potato.1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl0.9.6_0.9.6c-0.potato.1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1_sparc.deb

Debian GNU/Linux 3.0 (woody)

ソース:
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1-0.0woody1.dsc
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1.orig.tar.gz
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1-0.0woody1.diff.gz
alpha (DEC Alpha):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_alpha.deb
arm (ARM):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_arm.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_arm.deb
hppa (HP PA RISC):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_hppa.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_hppa.deb
i386 (Intel IA32):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_i386.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_i386.deb
ia64 (Intel IA64):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_ia64.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_ia64.deb
m68k (Motorola Mc680x0):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_m68k.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_m68k.deb
mips (SGI MIPS):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_mips.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_mips.deb
mipsel (SGI MIPS (Little Endian)):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_mipsel.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_mipsel.deb
powerpc (PowerPC):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_powerpc.deb
s390 (IBM S/390):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_s390.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_s390.deb
sparc (Sun SPARC/UltraSPARC):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_sparc.deb

一覧にあるファイルの MD5 チェックサムは勧告の原文にあります。 (DSA-134-2) (DSA-134-3) (DSA-134-4)