Vulnerability Research Advisory

Classic FTP の FTP クライアントにおけるディレクトリトラバーサルの脆弱性

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


脆弱性のテストのためのファイルは こちらです。テストの方法は下記です。


  1. Unzip the POC file into a directory. This gives ClassicFTPPOC.exe and ClassicFTPPOC-forward.exe.
  2. ClassicFTPPOC.exe and ClassicFTPPOC-forward.exe are POC FTP servers that will send filenames with directory traversal characters in response to LIST commands.
  3. ClassicFTPPOC.exe sends filenames with backslash directory traversal characters, whereas ClassicFTPPOC-forward.exe sends filenames with forward-slash traversal characters.
  4. Go to the command prompt and run ClassicFTPPOC.exe or ClassicFTPPOC-forward.exe on a system. It will listen on FTP Port 21.
  5. Ensure that Classic FTP is configured to use Passive mode.
  6. Use Classic FTP to connect to the POC FTP server. You can use any username/password.
  7. You'll see a directory named /testdir on the POC FTP server (see below).
  8. If you traverse into that directory you'll see a file (testfile.txt) with directory traversal characters in its filename (see below).
  9. 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 で修正されました。

For further enquries, comments, suggestions or bug reports, simply email them to