オリジナル版 Samba 2.2.7 における脆弱性修正と日本語版での影響の有無に関して

2002.11.24
日本Sambaユーザ会

2002/11/20にSamba teamよりSamba 2.2.7 のリリースがアナウンスされました。これはSamba 2.2.2 から 2.2.6 に、潜在的に攻撃者が対象のマシンで root 権限を取得できるセキュリティホールが発見された為であり、早急にアップグレードが推奨されています。

(現在のところこのバグを利用した exploit は発見されていません)

なお、日本Sambaユーザ会がリリースを行っているSamba日本語版は、日本語対応における改善の際に上記のセキュリティホールとされている部分を修正している為、この問題は該当しません


■対象プロダクト

オリジナル版 Samba 2.2.2〜2.2.6(日本語版該当せず)

2.2.2 以前についてはこの問題は該当しません。

■脆弱性の詳細について

クライアントからの暗号化パスワード変更リクエストに対する長さのチェックにバグがあり、古い形式のハッシュ化パスワードの復号時に smbd のスタックに対するバッファオーバーフロー攻撃を引き起こすような暗号化パスワードをクライアントから送信することが可能でした。

この問題は Steve Langasek さんと Eloy Paris さんにより報告されました。

なお、この脆弱性を利用して攻撃を行う場合、DOS コードページの文字列をリトルエンディアンの UCS2 ユニコード文字列に変換すると、コードの実行可能領域に書き込みが行われてしまうようなパスワードを作成することが必要です。

■対処策

Samba 2.2.7へアップグレードを行うか、パッチを適用してください。

Samba 2.2.7はhttp://us1.samba.org/samba/ftp/より取得可能です。

パッチは以下の通りです。

-------------------------------cut here---------------------------------
+++ libsmb/smbencrypt.c Tue Nov 19 17:22:12 2002
@@ -63,7 +63,7 @@
        if(len > 128)
                len = 128;
        /* Password must be converted to NT unicode - null terminated. */
-       dos_struni2((char *)wpwd, (const char *)passwd, 256);
+       dos_struni2((char *)wpwd, (const char *)passwd, len);
        /* Calculate length in bytes */
        len = strlen_w((const smb_ucs2_t *)wpwd) * sizeof(int16);
-------------------------------cut here---------------------------------

■参考

Samba 2.2.7 リリースのアナウンス
日本語訳

■ 関連Webページ

日本Sambaユーザー会 http://www.samba.gr.jp/

■ 本件に関するお問い合わせ

日本Sambaユーザ会 広報担当:やまねひでき (press@samba.gr.jp)