Home    |    View Topics    |    Search    |    Contact Us    |   



Category:   Application (File Transfer/Sharing)  >   tnftp (Lukemftp) Vendors:   Mewburn, Luke
tnftp Input Validation Hole in mget() Lets Remote Servers Write Arbitrary Files on the Client
SecurityTracker Alert ID:  1012589
SecurityTracker URL:
CVE Reference:   GENERIC-MAP-NOMATCH   (Links to External Site)
Date:  Dec 16 2004
Impact:   Modification of system information, Modification of user information, User access via network
Exploit Included:  Yes  
Version(s): 20030825
Description:   A vulnerability was reported in tnftp. A remote server can write to arbitrary files on the target system.

D. J. Bernstein reported that a remote FTP server can send a specially crafted FTP response to the connected tnftp client to write to arbitrary files on the target user's system with the privileges of the target user.

The mget() function in 'cmds.c' does not validate server-supplied filenames and uses the server-supplied filename (including slashes) as a local filename.

Yosef Klein is credited with discovering this flaw.

Impact:   A remote server can write to arbitrary files on the connected user's system. Files are written with the privileges of the target user.
Solution:   No solution was available at the time of this entry.
Vendor URL: (Links to External Site)
Cause:   Input validation error
Underlying OS:  Linux (Any), UNIX (Any)

Message History:   None.

 Source Message Contents

Subject:  [remote] [control] tnftp 20030825 does not check for directory escapes

Yosef Klein, a student in my Fall 2004 UNIX Security Holes course, has
discovered a remotely exploitable security hole in tnftp, an FTP client,
version 20030825 (current at least in FreeBSD ports). I'm publishing
this notice, but all the discovery credits should be assigned to Klein.

You are at risk if you use tnftp to download a batch of files from an
FTP server. Anyone who provides an FTP response to tnftp (not
necessarily the legitimate server administrator; an attacker can modify
FTP responses passing through the network) then has complete control
over your account: he can read and modify your files, watch the programs
you're running, etc.

The bug is triggered by the server sending a file name with slashes,
such as /home/you/.cshrc. The mget() function in cmds.c blindly uses the
server's file name (cp) as a local file name (tp passed to recvrequest);
users normally expect file-transfer programs to check for escapes from
the current directory.

---D. J. Bernstein, Associate Professor, Department of Mathematics,
Statistics, and Computer Science, University of Illinois at Chicago


Go to the Top of This SecurityTracker Archive Page

Home   |    View Topics   |    Search   |    Contact Us

This web site uses cookies for web analytics. Learn More

Copyright 2021, LLC