セキュリティ・ベンダーの米iDEFENSEは米国時間3月28日,複数ベンダーのTelnetクライアント・ソフトに2種類のセキュリティ・ホールが存在することを公表した(その1その2)。いずれもバッファ・オーバーフローのセキュリティ・ホール。接続中のTelnetサーバーから細工が施されたデータを送信されると,任意のプログラム(バックドアやウイルスなど)を実行させられる可能性がある。対策は,それぞれのベンダーが提供するパッチを適用することなど。

 米US-CERTなどの情報によると,BSD TelnetやMIT Kerberosに由来するTelnetクライアントに今回のセキュリティ・ホールが存在するという。

 影響を受ける具体的な製品名(ベンダー名)については,現時点(3月30日12時)の「Vulnerability Note」では「Unknown(未確認)」が目立つ。Debianのnetkit-telnetMIT krb5Solaris 7~10に含まれるtelnetでは,今回のセキュリティ・ホールが確認されている。iDEFENSEでは,ALT LinuxやMac OS X,FreeBSD,Red Hatなどに含まれるtelnetでも確認しているという。

 今回のセキュリティ・ホールは,これらのTelnetクライアントに含まれる関数「slc_add_reply() 」および「env_opt_add()」が原因。これらの関数にはバッファ・オーバーフローのセキュリティ・ホールが存在する。このため,接続中のTelnetサーバーから細工が施されたデータ(用意されているバッファ以上のデータ)をこれらの関数に送信されると,データに含まれた任意のプログラムを実行させられる可能性がある。このとき,プログラムはTelnetクライアントと同じ権限で動作する。

 上記のように,攻撃を受けるのは,悪意のあるTelnetサーバーに接続した場合に限られる。このため,信頼のおけないTelnetサーバーにはアクセスしないことが回避策の一つになりうる。

 ただし,Telnetクライアントで明示的にアクセスしなくても,悪意のあるTelnetサーバーへ接続させられる可能性があるので要注意。例えば,<iframe src='telnet://malicious.server/'>といったタグが含まれるWebページをブラウザで閲覧すると,登録されているTelnetクライアントが自動的に起動されて「malicious.server」へアクセスさせられる。このため,「信頼できないWebページへアクセスしない」ことも回避策として重要である。

 根本的な対策は,各ベンダーが提供するパッチを適用すること。影響を受けることが確認されているベンダーのほとんどは,パッチを公開している。例えばMac OS Xでは,3月21日に公開された「Security Update 2005-003」を適用すれば解消できる(関連記事)。これ以外のパッチ情報については,各ベンダーのWebページやiDEFENSEUS-CERTなどの情報を参考にしてほしい。

◎参考資料
Multiple Telnet Client slc_add_reply() Buffer Overflow Vulnerability(米iDEFENSE)
Multiple Telnet Client env_opt_add() Buffer Overflow Vulnerability(米iDEFENSE)
Multiple Telnet Clients fail to properly handle the "LINEMODE" suboption(米US-CERT)
Sun Solaris Telnet Client Buffer Overflow Vulnerabilities(デンマークSecunia)
MIT Kerberos Telnet Client Buffer Overflow Vulnerabilities(デンマークSecunia)

(勝村 幸博=IT Pro)