by Tan Chew Keong タン チュー ケオン
Release Date: 2008-06-04
[en] [jp]
概要
BitKinex
の FTP/WebDAV クライアントには、ディレクトリトラバーサルの脆弱性が存在します。悪意のある人は、この脆弱性を利用し
FTP/WebDAV
クライアントの作業ディレクトリを越えたディレクトリにファイルを転送する事ができます。
問題を確認したバージョン
問題
BitKinex の FTP/WebDAV
クライアントには、ディレクトリトラバーサルの脆弱性が存在します。悪意のある人は、この脆弱性を利用し FTP/WebDAV
クライアントの作業ディレクトリを越えたディレクトリにファイルを転送する事ができます。
BitKinex の FTP クライアントは、MLSD/LIST
コマンドに対するレスポンスを適切に検査しないから、ディレクトリトラバーサルの脆弱性が存在します。そのうえ、BitKinex の WebDAV
クライアントは、PROPFIND
コマンドに対するレスポンスを適切に検査しないから、ディレクトリトラバーサルの脆弱性も存在します。
ユーザーが、FTP/WebDAV
サーバーから悪意のあるディレクトリをダウンロードしたら、攻撃者にユーザーの権限で
FTP/WebDAV クライアントの作業ディレクトリを越えたディレクトリに任意のファイルを作成される可能性があります。
脆弱性のテスト
脆弱性のテストのためのファイルは
こちらです。テストの方法は下記です。
Instructions for testing FTP client:
- Unzip the POC file into a directory. This gives
BitKinexFTPPOC.exe and BitKinexWebDAVPOC.exe.
- BitKinexFTPPOC.exe is a POC
FTP server that will send filenames with directory traversal characters
in response to LIST commands.
- Go to the command prompt and run
BitKinexFTPPOC.exe on a system. It will listen on FTP Port 21.
- Ensure that BitKinex is configured to use Passive
mode.
- Use BitKinex to connect to the POC FTP server.
You can use any username/password.
- You'll see a directory named /testdir
on the POC FTP server (see below).
- If you traverse into that directory you'll see
a file (testfile.txt) with directory traversal
characters in its filename (see below).
- Now, if you attempt to download the /testdir
directory into C:\aaaa\bbbb\cccc\etc, you'll notice
that testfile.txt will be written into C:\
instead of into C:\aaaa\bbbb\cccc\etc\testdir\testfile.txt.
Hence, by tricking a user to download a directory
from a malicious FTP server, an attacker can potentially leverage this
issue to write files into a user's Startup folder and execute arbitrary
code when the user logs on.
Instructions for testing WebDAV client:
- BitKinexWebDAVPOC.exe is a
POC WebDAV server that will send filenames with directory traversal
characters in response to PROPFIND commands.
- Go to the command prompt and run
BitKinexWebDAVPOC.exe on a system. It will listen on Port 80.
- Using BitKinex's WebDAV client, connect to port
80 of the POC WebDAV server. Use any username and password.
- You'll see a directory named /testdir
on the POC WebDAV server.
- Follow the same instructions as above to
confirm the directory traversal vulnerability.
対策
悪意のある FTP/WebDAV サーバーからディレクトリをダウンロードしないで下さい。
発見と報告の経緯
2008年05月13日 - 脆弱性の発見。
2008年05月13日 - ベンダーに報告しました。
2008年05月14日 - ベンダーから答えを受け取りました。
2008年05月19日 - ベンダーにメールしました。
2008年05月19日 - ベンダーによると、この脆弱性はバージョン 3.0 に修正します。
2008年06月04日 - 本脆弱性の公開。