by Tan Chew Keong タン チュー ケオン
Release Date: 2008-06-20
Updated: 2008-12-12
[en] [jp]
概要
Classic FTP
の FTP クライアントには、ディレクトリトラバーサルの脆弱性が存在します。悪意のある人は、この脆弱性を利用し
FTP クライアントの作業ディレクトリを越えたディレクトリにファイルを転送する事ができます。
問題を確認したバージョン
問題
Classic FTP の FTP
クライアントには、ディレクトリトラバーサルの脆弱性が存在します。悪意のある人は、この脆弱性を利用し FTP
クライアントの作業ディレクトリを越えたディレクトリにファイルを転送する事ができます。
Classic FTP の FTP クライアントは、LIST
コマンドに対するレスポンスを適切に検査しないから、ディレクトリトラバーサルの脆弱性が存在します。ユーザーが、FTP
サーバーから悪意のあるディレクトリをダウンロードしたら、攻撃者にユーザーの権限で FTP
クライアントの作業ディレクトリを越えたディレクトリに任意のファイルを作成される可能性があります。
LIST コマンドに対する悪意のあるレスポンスの例:
Response to LIST (backslash):
-rw-r--r-- 1 502 502 4096 Mar 01 05:37 \..\..\..\..\..\..\..\..\..\testfile.txt\r\n
Response to LIST (forward slash):
-rw-r--r-- 1 502 502 4096 Mar 01 05:37 /../../../../../../../../../testfile.txt\r\n
脆弱性のテスト
脆弱性のテストのためのファイルは
こちらです。テストの方法は下記です。
Instructions:
- Unzip the POC file into a directory. This gives
ClassicFTPPOC.exe and ClassicFTPPOC-forward.exe.
- ClassicFTPPOC.exe and ClassicFTPPOC-forward.exe
are POC FTP servers that will send filenames with directory traversal
characters in response to LIST commands.
- ClassicFTPPOC.exe sends
filenames with backslash directory traversal
characters, whereas ClassicFTPPOC-forward.exe sends
filenames with forward-slash traversal characters.
- Go to the command prompt and run
ClassicFTPPOC.exe or ClassicFTPPOC-forward.exe on a system. It will
listen on FTP Port 21.
- Ensure that Classic FTP is configured to use Passive
mode.
- Use Classic FTP 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.
対策
Version 1.11 へのバージョンアップをしてください。ベンダーに公開される脆弱性の情報はこちらです。
発見と報告の経緯
2008年06月02日 - 脆弱性の発見。
2008年06月02日 - ベンダーに報告しました (ベンダーから返事をもらいません)。
2008年06月07日 - 再度ベンダーに報告しました (ベンダーから返事をもらいません)。
2008年06月10日 - ベンダーから答えを受け取りました。
2008年06月12日 - この脆弱性を思い出させるために、再度ベンダーにメールします。(ベンダーから返事をもらいません)。
2008年06月18日 - この脆弱性を思い出させるために、再度ベンダーにメールします。
2008年06月19日 - ベンダーから答えを受け取りました。ベンダーによると、修正版のリリースする日付は、まだ決めません。
2008年06月20日 - 本脆弱性の公開。
2008年12月12日 - ベンダーからメールをもらいます。ベンダーによると、脆弱性はバージョン 1.11 で修正されました。