Other Issues
 

Downloads Buy It ! Products Contents Search Support Contact Us

Up
 

Support - Bug Pages

Other issues

This section is for those issues that are not crashes, and do not display a particular error message, but are nonetheless disconcerting behaviors to some users.
bullet2004/02/29 SSL / TLS truncation - On Windows 2000, WFTPD Pro would often truncate files to 8192 bytes when using SSL and TLS to transfer files.  This has been fixed in 3.21 R2.
bullet2004/02/29 SSL / TLS truncation 2 - When using certain encryption algorithms in SSL / TLS (particularly those negotiated when "FIPS compliance" is turned on in the Security Policies), connections from OpenSSL-based clients would be terminated soon after negotiating SSL / TLS encryption.  This has been fixed in 3.21 R2.
bullet2004/02/29 Overlong commands - An attacker could use up available memory, and essentially perform a denial of service attack, by sending an unterminated command sequence.  This has been addressed by adding the server-specific setting, "MaxCmdLine", which represents the number of bytes we will accept in the longest command line.  Command lines that go over this number will cause disconnection of the client that sends them.  The default for the MaxCmdLine setting is 2048, and can be set in the INI file or registry - there is no user interface for this feature, as we do not expect users will need to change it.  This has been fixed in 3.21 R2.
bulletDSS Certificate Support - When Microsoft's Certificate Import Wizard imports a DSS / DH certificate, it places it into a Cryptographic Service Provider (CSP) that is incompatible with SSL and TLS.  The Control Panel will now detect this when you select the certificate, and will offer to move the certificate into the correct CSP for you.
bulletUnable to delete users - In "Classic WFTPD" Security Model, WFTPD Pro 3.20 Release 1 failed to completely delete users when asked.  Users' entries were deleted, so that they could not log in, but the names were not cleared from the user list or the registry.  This has now been fixed.
bulletInfinite loop with 100+ users - in "Windows" Security Model, WFTPD Pro 3.20 Release 1 would go into an infinite loop, with the hourglass displayed, if there were more than 100 users.  This has now been fixed.
bulletSSL / TLS Interoperability Issues - The SSL / TLS code in WFTPD Pro would occasionally cause the generation of encrypted traffic that was rejected by some clients.  The encryption code now defaults to an 8k maximum message size.
bullet

5/24/2001 - Directory traversal vulnerability - Windows 95, 98, ME.

As noted in the "What's New" section of our most recent version, 3.00 R5, there is indeed an effect on WFTPD's behaviour caused by the new path name expansion code.  On Windows 95, 98, and ME, the string "..." is understood by the operating system to mean "up two directories" - this is not currently expanded out in our code, and is hence passed into the operating system, leading to the ability of a user to venture outside of his/her restrictions, and possibly to touch files not in accordance with defined rights.  Again, as noted in the "What's New" section of our help file, this can be disabled by adding the entry "GFPNMethod=0" to your WFTPD.INI file, in the "[Server]" section.  If you do not have a "[Server]" section, then it can be created anywhere in the file.  Do not create two sections labeled "[Server]", as only the first will be accessed.

Thanks go to joetesta for reporting this problem to me.  Byterage also reported this problem to the bugtraq mailing list, but did not contact me first, which I consider to be impolite at best.  Because there is a valid workaround with no functional change, we will not be releasing a new version of the software to cover this vulnerability.  WFTPD and WFTPD Pro are not vulnerable on Windows NT, 2000 or XP, either with or without the GFPNMethod setting.

bullet

Slash-dot-dot DoS - unrelated to the "Giving Thanks" issue below, a user could use the sequence "LIST */../*/../*/.." [or more levels] to cause the server to use up processor time and resources at an alarming rate.  We now refuse to process any listing command (LIST, NLST and STAT) that includes the string "/.." (slash, dot, dot).  This Denial-of-Service (DoS) attack has been reported on several FTP servers recently, and has been fixed in version 3.00 R4 of both WFTPD and WFTPD Pro.

bullet

Memory leaks - a failed "rename" command caused 256 bytes of leak each time it was used.  Fixed in version 3.00 R4.

bullet

mget failure - A problem in the NLST code was preventing 'mget *' and related commands from working correctly.  Fixed in version 3.00 R4.

bullet

Giving Thanks - - with the usual spectacularly bad timing, a user reported a security flaw to us hours after we released a new version, and minutes before our main developer was due to leave for an extended Thanksgiving holiday weekend.  He was persuaded to stay long enough to patch a fix together, which has been tested since then and is ready to download.  The detail?  Well, it seems that the sequence "/.." was not correctly checked for, and users could get around their restrictions.  This has been fixed in WFTPD 2.41 RC15 and WFTPD Pro 3.00 R2.  Note - in fixing this, we introduced a problem whereby some restricted users could not access files or do directory listings.  This has been corrected in WFTPD 2.41 RC16 and WFTPD Pro 3.00 R3

bullet

NTFS streams - does anyone really know what they are?  Suffice it to say that a .LNK file stored on an NTFS volume could be downloaded with a little chicanery, by accessing its main data stream specifically.  This flaw has now been fixed in WFTPD 2.41 RC15 and WFTPD Pro 3.00 R1.  Visit our "downloads" page for a tool to allow you to list extraneous streams.

bullet

Files on UNC shares inaccessible - due to an unexpected behavior of the API call GetFileSecurity, we reported some files and directories as inaccessible, when they were more accurately described as unsecured.
Fix: 2.41 RC10 and above has fixed this issue, by assuming that all files we cannot get security information on are available for access.  [This doesn't cause security problems, since we still have to ask the OS / NOS for the file, and it will refuse if we don't really have access]

bullet

Directory listings stop - under some rare conditions, it's possible that a directory listing will not produce the terminating "226" response - this will have the effect of stopping the FTP client in its tracks while it waits for a response that will never come.  Usually, this is caused by the behavior of Unix FTP clients.
Fix: 2.41 RC10 and above has fixed this problem.

bullet

WFTPD Pro can't access drive mappings - nor can (or more properly, nor should) any other services.  Services run in a different 'context' than any user that is logged in to an NT system locally. Often, they are not running as that user, and in that case especially, it would be a gross violation of security for the service to have any access to those drive mappings. However, even when the user is the same as the user that the service is set to run as, they are treated as two separate logins, with their own access to various drive mappings.
Further reading: Microsoft's Knowledge Base, particularly articles Q115848 (removed), detailing reasons why a service should not create a drive mapping, Q121073, which mentions why the Schedule service can't access drive mappings, and Q130668, which shows problems caused by creating drive mappings in the Schedule service.
A less involved explanation - imagine you have an NT system, used by Eric and Fred. They each map drive X when they log in, Eric to the accounting and payroll server, and Fred to the games directory. Fred logs in, and directs a user to access the X drive over FTP to download a game. Eric comes by, sees the machine unattended, apparently doing nothing, logs Fred out, and logs himself in. The user that connects to WFTPD Pro, if he could access the X map, would now find himself with full access to your company's accounts and payroll.
Fix: WFTPD and WFTPD Pro version 2.40 and above support the use of UNCs as directory names, so Fred can direct his user to enter the command "CD //FREDSSYSTEM/GAME_SHARE" to visit his games.

bullet

DUN disconnection - If WFTPD or WFTPD Pro is listening at a specific IP address, that is granted through a dial-up connection using Microsoft's Dial-Up Networking (the new term for RAS), and the connection dies, then WFTPD is not informed of this, and can no longer accept incoming connections - even when the link is re-established with the same IP address.
Technical: Use of "NETSTAT -AN" will still show the socket is marked as "LISTENING", but an attempt to ftp to that address will result in "connection refused". (While the connection is down, you will get "No route to host")  There is no way currently available to check that the listening socket is unreachable from within WFTPD.
Workaround: When WFTPD runs with no arguments, it listens for all incoming connections on the FTP port (usually 21). WFTPD Pro can be configured to do the same by creating your virtual host with an IP address of "0.0.0.0", and a port of "ftp" or "21". Such a generic listening socket will survive disconnection and reconnection.
Alternate Workaround: When you hear reports from your users that the server is inaccessible, restart the listening socket. On WFTPD, you do this by simply closing and then restarting the program. On WFTPD Pro, you must either stop and restart the affected virtual hosts in the WFTPD Pro Control Panel applet, or stop and restart the service as a whole. Note that the disconnection doesn't affect connections other than through DUN, so it may not be a wonderful thing to do to stop the whole service if someone is accessing your server by a local Ethernet.
Status: Microsoft say this isn't a bug, and have not taken the opportunity to discuss it any further.

 

 

Up ]

Send mail to webmaster@wftpd.com with questions or comments about this web site.
Copyright © 1999-2006 Texas Imperial Software
Last modified: June 13, 2004