ID CVE-2014-8517
Summary The fetch_url function in usr.bin/ftp/fetch.c in tnftp, as used in NetBSD 5.1 through 5.1.4, 5.2 through 5.2.2, 6.0 through 6.0.6, and 6.1 through 6.1.5 allows remote attackers to execute arbitrary commands via a | (pipe) character at the end of an HTTP redirect.
References
Vulnerable Configurations
  • Apple Mac OS X 10.8.5
    cpe:2.3:o:apple:mac_os_x:10.8.5
  • Apple Mac OS X 10.9.5
    cpe:2.3:o:apple:mac_os_x:10.9.5
  • Apple Mac OS X 10.10.0
    cpe:2.3:o:apple:mac_os_x:10.10.0
  • Apple Mac OS X 10.10.1
    cpe:2.3:o:apple:mac_os_x:10.10.1
  • NetBSD 5.1
    cpe:2.3:o:netbsd:netbsd:5.1
  • NetBSD 5.1.1
    cpe:2.3:o:netbsd:netbsd:5.1.1
  • NetBSD 5.1.2
    cpe:2.3:o:netbsd:netbsd:5.1.2
  • NetBSD 5.1.3
    cpe:2.3:o:netbsd:netbsd:5.1.3
  • NetBSD 5.1.4
    cpe:2.3:o:netbsd:netbsd:5.1.4
  • NetBSD 5.2
    cpe:2.3:o:netbsd:netbsd:5.2
  • NetBSD 5.2.1
    cpe:2.3:o:netbsd:netbsd:5.2.1
  • NetBSD 5.2.2
    cpe:2.3:o:netbsd:netbsd:5.2.2
  • NetBSD 6.0
    cpe:2.3:o:netbsd:netbsd:6.0
  • NetBSD 6.0.1
    cpe:2.3:o:netbsd:netbsd:6.0.1
  • NetBSD 6.0.2
    cpe:2.3:o:netbsd:netbsd:6.0.2
  • NetBSD 6.0.3
    cpe:2.3:o:netbsd:netbsd:6.0.3
  • NetBSD 6.0.4
    cpe:2.3:o:netbsd:netbsd:6.0.4
  • NetBSD 6.0.5
    cpe:2.3:o:netbsd:netbsd:6.0.5
  • NetBSD 6.0.6
    cpe:2.3:o:netbsd:netbsd:6.0.6
  • NetBSD 6.1
    cpe:2.3:o:netbsd:netbsd:6.1
  • NetBSD 6.1.1
    cpe:2.3:o:netbsd:netbsd:6.1.1
  • NetBSD 6.1.2
    cpe:2.3:o:netbsd:netbsd:6.1.2
  • NetBSD 6.1.3
    cpe:2.3:o:netbsd:netbsd:6.1.3
  • NetBSD 6.1.4
    cpe:2.3:o:netbsd:netbsd:6.1.4
  • NetBSD 6.1.5
    cpe:2.3:o:netbsd:netbsd:6.1.5
CVSS
Base: 7.5 (as of 05-02-2015 - 12:42)
Impact:
Exploitability:
CWE CWE-77
CAPEC
  • Cause Web Server Misclassification
    An attack of this type exploits a Web server's decision to take action based on filename or file extension. Because different file types are handled by different server processes, misclassification may force the Web server to take unexpected action, or expected actions in an unexpected sequence. This may cause the server to exhaust resources, supply debug or system data to the attacker, or bind an attacker to a remote process. This type of vulnerability has been found in many widely used servers including IIS, Lotus Domino, and Orion. The attacker's job in this case is straightforward, standard communication protocols and methods are used and are generally appended with malicious information at the tail end of an otherwise legitimate request. The attack payload varies, but it could be special characters like a period or simply appending a tag that has a special meaning for operations on the server side like .jsp for a java application server. The essence of this attack is that the attacker deceives the server into executing functionality based on the name of the request, i.e. login.jsp, not the contents.
  • LDAP Injection
    An attacker manipulates or crafts an LDAP query for the purpose of undermining the security of the target. Some applications use user input to create LDAP queries that are processed by an LDAP server. For example, a user might provide their username during authentication and the username might be inserted in an LDAP query during the authentication process. An attacker could use this input to inject additional commands into an LDAP query that could disclose sensitive information. For example, entering a * in the aforementioned query might return information about all users on the system. This attack is very similar to an SQL injection attack in that it manipulates a query to gather additional information or coerce a particular return value.
  • Command Delimiters
    An attack of this type exploits a programs' vulnerabilities that allows an attacker's commands to be concatenated onto a legitimate command with the intent of targeting other resources such as the file system or database. The system that uses a filter or a blacklist input validation, as opposed to whitelist validation is vulnerable to an attacker who predicts delimiters (or combinations of delimiters) not present in the filter or blacklist. As with other injection attacks, the attacker uses the command delimiter payload as an entry point to tunnel through the application and activate additional attacks through SQL queries, shell commands, network scanning, and so on.
  • File System Function Injection, Content Based
    An attack of this type exploits the host's trust in executing remote content including binary files. The files are poisoned with a malicious payload (targeting the file systems accessible by the target software) by the attacker and may be passed through standard channels such as via email, and standard web content like PDF and multimedia files. The attacker exploits known vulnerabilities or handling routines in the target processes. Vulnerabilities of this type have been found in a wide variety of commercial applications from Microsoft Office to Adobe Acrobat and Apple Safari web browser. When the attacker knows the standard handling routines and can identify vulnerabilities and entry points they can be exploited by otherwise seemingly normal content. Once the attack is executed, the attackers' program can access relative directories such as C:\Program Files or other standard system directories to launch further attacks. In a worst case scenario, these programs are combined with other propagation logic and work as a virus.
  • Exploiting Multiple Input Interpretation Layers
    An attacker supplies the target software with input data that contains sequences of special characters designed to bypass input validation logic. This exploit relies on the target making multiples passes over the input data and processing a "layer" of special characters with each pass. In this manner, the attacker can disguise input that would otherwise be rejected as invalid by concealing it with layers of special/escape characters that are stripped off by subsequent processing steps. The goal is to first discover cases where the input validation layer executes before one or more parsing layers. That is, user input may go through the following logic in an application: In such cases, the attacker will need to provide input that will pass through the input validator, but after passing through parser2, will be converted into something that the input validator was supposed to stop.
  • Argument Injection
    An attacker changes the behavior or state of a targeted application through injecting data or command syntax through the targets use of non-validated and non-filtered arguments of exposed services or methods.
  • Manipulating Writeable Configuration Files
    Generally these are manually edited files that are not in the preview of the system administrators, any ability on the attackers' behalf to modify these files, for example in a CVS repository, gives unauthorized access directly to the application, the same as authorized users.
  • Manipulating Input to File System Calls
    An attacker manipulates inputs to the target software which the target software passes to file system calls in the OS. The goal is to gain access to, and perhaps modify, areas of the file system that the target software did not intend to be accessible.
Access
VectorComplexityAuthentication
NETWORK LOW NONE
Impact
ConfidentialityIntegrityAvailability
PARTIAL PARTIAL PARTIAL
exploit-db via4
  • description tnftp - clientside BSD Exploit. CVE-2014-8517. Remote exploit for bsd platform
    id EDB-ID:35427
    last seen 2016-02-04
    modified 2014-12-02
    published 2014-12-02
    reporter dash
    source https://www.exploit-db.com/download/35427/
    title tnftp - clientside BSD Exploit
  • description tnftp - 'savefile' Arbitrary Command Execution (Metasploit). CVE-2014-8517. Remote exploit for Unix platform. Tags: Metasploit Framework (MSF)
    file exploits/unix/remote/43112.rb
    id EDB-ID:43112
    last seen 2017-11-04
    modified 2017-11-03
    platform unix
    port
    published 2017-11-03
    reporter Exploit-DB
    source https://www.exploit-db.com/download/43112/
    title tnftp - 'savefile' Arbitrary Command Execution (Metasploit)
    type remote
metasploit via4
  • description This module exploits an arbitrary command execution vulnerability in tnftp's handling of the resolved output filename - called "savefile" in the source - from a requested resource. If tnftp is executed without the -o command-line option, it will resolve the output filename from the last component of the requested resource. If the output filename begins with a "|" character, tnftp will pass the fetched resource's output to the command directly following the "|" character through the use of the popen() function.
    id MSF:AUXILIARY/SERVER/TNFTP_SAVEFILE
    last seen 2017-10-25
    modified 2017-07-24
    published 2014-10-30
    reliability Normal
    reporter Rapid7
    source https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/server/tnftp_savefile.rb
    title tnftp "savefile" Arbitrary Command Execution
  • description This module exploits an arbitrary command execution vulnerability in tnftp's handling of the resolved output filename - called "savefile" in the source - from a requested resource. If tnftp is executed without the -o command-line option, it will resolve the output filename from the last component of the requested resource. If the output filename begins with a "|" character, tnftp will pass the fetched resource's output to the command directly following the "|" character through the use of the popen() function.
    id MSF:EXPLOIT/UNIX/HTTP/TNFTP_SAVEFILE
    last seen 2019-03-02
    modified 2018-11-16
    published 2017-11-01
    reliability Excellent
    reporter Rapid7
    source https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/http/tnftp_savefile.rb
    title tnftp "savefile" Arbitrary Command Execution
nessus via4
  • NASL family SuSE Local Security Checks
    NASL id OPENSUSE-2014-639.NASL
    description tnftp was updated to fix the possible execution of commands by a remote attacker (CVE-2014-8517).
    last seen 2019-02-21
    modified 2018-11-10
    plugin id 79105
    published 2014-11-11
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=79105
    title openSUSE Security Update : tnftp (openSUSE-SU-2014:1383-1)
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2014-14113.NASL
    description Security fix for CVE-2014-8517 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2018-12-05
    plugin id 79196
    published 2014-11-12
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=79196
    title Fedora 20 : tnftp-20141031-1.fc20 (2014-14113)
  • NASL family Gentoo Local Security Checks
    NASL id GENTOO_GLSA-201611-05.NASL
    description The remote host is affected by the vulnerability described in GLSA-201611-05 (tnftp: Arbitrary code execution) The fetch_url function in usr.bin/ftp/fetch.c allows remote attackers to execute arbitrary commands via a Impact : A remote attacker could possibly execute arbitrary code with the privileges of the process. Workaround : There is no known workaround at this time.
    last seen 2019-02-21
    modified 2017-11-02
    plugin id 94889
    published 2016-11-15
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=94889
    title GLSA-201611-05 : tnftp: Arbitrary code execution
  • NASL family MacOS X Local Security Checks
    NASL id MACOSX_SECUPD2015-001.NASL
    description The remote host is running a version of Mac OS X 10.8 or 10.9 that does not have Security Update 2015-001 applied. This update contains several security-related fixes for the following components : - AFP Server - Bluetooth - CoreGraphics - CoreSymbolication - FontParser - Foundation - Intel Graphics Driver - IOAcceleratorFamily - IOHIDFamily - Kernel - LaunchServices - libnetcore - LoginWindow - lukemftp - OpenSSL - Sandbox - SceneKit - Security - security_taskgate - Spotlight - sysmond Note that successful exploitation of the most serious issues can result in arbitrary code execution.
    last seen 2019-02-21
    modified 2018-07-14
    plugin id 81088
    published 2015-01-29
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=81088
    title Mac OS X Multiple Vulnerabilities (Security Update 2015-001) (POODLE)
  • NASL family MacOS X Local Security Checks
    NASL id MACOSX_10_10_2.NASL
    description The remote host is running a version of Mac OS X 10.10.x that is prior to version 10.10.2. This update contains several security-related fixes for the following components : - bash - Bluetooth - CFNetwork Cache - CommerceKit Framework - CoreGraphics - CoreSymbolication - CPU Software - FontParser - Foundation - Intel Graphics Driver - IOAcceleratorFamily - IOHIDFamily - IOKit - IOUSBFamily - Kernel - LaunchServices - libnetcore - LoginWindow - lukemftp - OpenSSL - Safari - SceneKit - Security - security_taskgate - Spotlight - SpotlightIndex - sysmond - UserAccountUpdater Note that successful exploitation of the most serious issues can result in arbitrary code execution.
    last seen 2019-02-21
    modified 2018-07-14
    plugin id 81087
    published 2015-01-29
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=81087
    title Mac OS X 10.10.x < 10.10.2 Multiple Vulnerabilities (POODLE)
  • NASL family FreeBSD Local Security Checks
    NASL id FREEBSD_PKG_7488378D600711E6A6C314DAE9D210B8.NASL
    description A malicious HTTP server could cause ftp(1) to execute arbitrary commands. Impact : When operating on HTTP URIs, the ftp(1) client follows HTTP redirects, and uses the part of the path after the last '/' from the last resource it accesses as the output filename if '-o' is not specified. If the output file name provided by the server begins with a pipe ('|'), the output is passed to popen(3), which might be used to execute arbitrary commands on the ftp(1) client machine.
    last seen 2019-02-21
    modified 2018-12-05
    plugin id 92913
    published 2016-08-12
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=92913
    title FreeBSD : FreeBSD -- Remote command execution in ftp(1) (7488378d-6007-11e6-a6c3-14dae9d210b8)
packetstorm via4
data source https://packetstormsecurity.com/files/download/144874/tnftp_savefile.rb.txt
id PACKETSTORM:144874
last seen 2017-11-03
published 2017-11-03
reporter wvu
source https://packetstormsecurity.com/files/144874/tnftp-savefile-Arbitrary-Command-Execution.html
title tnftp "savefile" Arbitrary Command Execution
refmap via4
apple APPLE-SA-2015-01-27-4
confirm http://support.apple.com/HT204244
exploit-db 43112
gentoo GLSA-201611-05
mlist
  • [oss-security] 20141028 Re: ftp(1) can be made execute arbitrary commands by malicious webserver
  • [oss-security] 20141028 ftp(1) can be made execute arbitrary commands by malicious webserver
netbsd NetBSD-SA2014-013
secunia
  • 62028
  • 62260
suse openSUSE-SU-2014:1383
Last major update 05-02-2015 - 13:18
Published 17-11-2014 - 11:59
Last modified 05-11-2017 - 21:29
Back to Top